Improve reporting for single-use daemon

With the Daemon enabled by default, the log messages can be confusing for users that explicitly disable the daemon.
Before this change, a user would see:
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/6.7/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing

With this change, the message is:
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/6.7/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

The Disabling the Daemon docs have been updated to include why we start a separate process even when the daemon is disabled.

@bot-gradle Test RFM

Sorry I don't understand what you said, please type @bot-gradle help to get help.

Currently I support the following commands:

@bot-gradle test {BuildStage} to trigger a build

e.g. @bot-gradle test SanityCheck plz
SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/ReadyForMerge/ReadyForNightly/ReadyForRelease are supported
test this means test ReadyForMerge
SanityCheck can be abbreviated as SC, ReadyForMerge as RFM, etc.

@bot-gradle help to display this message
@bot-gradle clean to clear the conversation history

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


⚠ Bofrost.lu has degraded performance

In 7f724ec, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2243 ms

Resolved: Bofrost.lu performance has improved in e939a09 after 14 minutes.


Highcharts turbo mode

Highcharts is giving a warning message on the Enbridge mainline profile, probably from the new remediation dashboard.
https://assets.highcharts.com/errors/12/

Resolved after filtering remediation post-August 15, 2018.


Fix SkipProjects and SkipPlatforms and mingw gem version parsing

Fixes https://github.com/puppetlabs/security-snyk-vanagon-action/issues/9 and https://github.com/puppetlabs/security-snyk-vanagon-action/issues/8


The token seems correct, but no output in the Slack channel

I've written the following Luigi job:
import time

from luigi_slack import SlackBot, notify
import luigi

class SlackIntegrationExampleJob(luigi.Task):

  def run(self):
    print('Going to sleep 5 seconds')
    time.sleep(5)
    print('Done with sleeping')

slacker = SlackBot(
  token='<MY_SECRET_TOKEN>',
  # token='foo_token',
  events=["SUCCESS", "FAILURE", "START", "PROCESSING_TIME"],
  channels=['my_custom_channel_name'],
  as_user=True
)

if __name__ == "__main__":
  with notify(slacker):
    luigi.run()

I am using luigi_slack==0.1.7.
I have generated <MY_SECRET_TOKEN> here: https://api.slack.com/custom-integrations/legacy-tokens
I run the job this way: PYTHONPATH=. luigi --module slack_integration_example_job SlackIntegrationExampleJob --local-scheduler

When I use <MY_SECRET_TOKEN>, then the luigi job runs with no errors, but I don't see anything in my_custom_channel_name on the Slack UI.
I've tried a fake token e.g. foo_token, just to make sure the integration is working and it's throwing luigi_slack.slack_api.ChannelListNotLoadedError: Error while loading channels: invalid_auth, so I think everything is fine.
I have also tried to remove as_user=True, but still no messages in the channel.
I am not sure if the issue is with the python code, or perhaps with the "legacy" token API from Slack, anyway how could I show those events ["SUCCESS", "FAILURE", "START", "PROCESSING_TIME"] in my Slack channel my_custom_channel_name?
Thanks

@tappoz as described in #2 you can't use it from the cli interface at the moment (the main block is not called)
You can run it with: python your_script.py --local-scheduler
Also please notice PROCESSING_TIME is not implemented so it will be ignored

Ok, thanks, I actually had to run the luigi job like this: python slack_integration_example_job.py SlackIntegrationExampleJob --local-scheduler
It seems also that when using events=["SUCCESS", "FAILURE", "START"]:

if I run the script provided above (with or without as_user=True), then on the Slack channel I see 1 message with only the SUCCESS event:

if I run the script with raise ValueError('Something went wrong!!!') inside the luigi task def run(self):, then on the Slack channel I see 1 message with all the 3 events:

This looked a bit weird, but anyway I kind of see green and red on the channel and that's enough for now.
I could try to document these findings if I have a bit of spare time, if that's fine? Is there any guideline on PRs?
Thanks

If you change the line luigi.run() into luigi.run(main_task_cls=SlackIntegrationExampleJob) you won't need to spell out the task name via command line.
Regarding  the output, the first one (green line) appears when you have all tasks successful, so the report is for the whole pipeline. You don't see anything about failures because there's none, and also nothing about start because it's implied by success. On the other side, if some tasks are successful and others are failing, you'll get the second type of output (red line), with a breakdown per task (if you try a more complex example with 2-3 tasks and a failure in the middle, it should be more clear). Maybe the "Success" line could be hidden when there is no successful task
PRs are certainly welcome, I don't have specific guidelines (this is essentially a side project), maybe just adding a couple of examples to the readme could be beneficial.
Cheers

I am using a wrapper task to bundle multiple tasks. How do I use slackbot to notify each sub step? e.g PreflightCheck or map_tasks
class PipelineTask(luigi.WrapperTask):
"""Wrap up all the tasks for the pipeline into a single task
def requires(self):
    # basic setup tasks
    setup_tasks = [
        PreflightCheck(),

    ]
    # mapping tasks
    map_tasks = [
            Map(jobuid=self.jobuid),

    ]
    # normalization tasks
    norm_ids = list(range(0, NormanConfig().count))

    # construction tasks
    conn_ids = list(range(0, ConnieConfig().count))

    # post EC tasks
    postec_tasks = [
        Dedupe(jobuid=self.jobuid),
        ProviderAttribution(jobuid=self.jobuid),

    ]

    # optional post EC tasks
    opt_postec_tasks = [
        SavingSummary(jobuid=self.jobuid),
        CoreServices(jobuid=self.jobuid),

    ]

    # RSPR tasks
    rspr_tasks = [
        EpiPACs(jobuid=self.jobuid),

    ]

    # IEVA and PAC Super Groups
    ieva_pacsg_tasks = [
        IEVA(jobuid=self.jobuid),

    ]
    #shutdown tasks
    shutdown_task = [
        Terminate(jobuid=self.jobuid)
    ]

    # Let's go!
    tasks = setup_tasks + map_tasks + norm_tasks + conn_tasks + \
            postec_tasks + opt_postec_tasks + rspr_tasks + ieva_pacsg_tasks + shutdown_task
    return tasks

def run(self):
    with self.output().open('w') as out_file:
        out_file.write("successly ran pipeline on {}".format(self.date))

def output(self):
    return luigi.LocalTarget(os.path.join(PathConfig().target_path,"dummy"))

if name == "main":
if len(sys.argv) < 2:
print('pipeline.py ')
exit(-1)
luigi.run([
'PipelineTask',
'--workers', sys.argv[1],
'--local-scheduler'])


Bug Report

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:
terraform {
required_providers {
azurerm = {
source  = "hashicorp/azurerm"
version = ">= 3.54.0"
}
}
}
azure provider:
provider "azurerm" {
skip_provider_registration = true
environment = "usgovernment"
features {}
}
module:
module "enterprise_scale" {
source  = "Azure/caf-enterprise-scale/azurerm"
version = "4.2.0" # change this to your desired version, https://www.terraform.io/language/expressions/version-constraints
default_location = "usgovvirginia"
providers = {
azurerm              = azurerm
azurerm.connectivity = azurerm
azurerm.management   = azurerm
}
Description
Error: reading Policy Set Definition
Describe the bug
terraform init = OK
terraform plan - getting the following error after the plan runs and displays Plan: 155 to add... then get this error:
│ Error: reading Policy Set Definition "e20d08c5-6d64-656d-6465-ce9e37fd0ebc": policy.SetDefinitionsClient#Get: Failure responding to request: StatusCode=404 -- Original Error: autorest/azure: Service returned an error. Status=404 Code="PolicySetDefinitionNotFound" Message="The policy set
definition 'e20d08c5-6d64-656d-6465-ce9e37fd0ebc' could not be found."
│
│   with module.enterprise_scale.data.azurerm_policy_set_definition.external_lookup["/providers/Microsoft.Authorization/policySetDefinitions/e20d08c5-6d64-656d-6465-ce9e37fd0ebc"],
│   on .terraform\modules\enterprise_scale\locals.policy_assignments.tf line 88, in data "azurerm_policy_set_definition" "external_lookup":
│   88: data "azurerm_policy_set_definition" "external_lookup" {
Thanks for any help getting past this error.  Let me know if you need more info.

This looks to be an issue with the policy set not being found, possibly due to policy differences in environments (as you're building against usgovernment)
Can you run a plan against a standard environment and see if it runs through without issue?

This looks correct, try excluding that policy set and assignment,

This looks to be an issue with the policy set not being found, possibly due to policy differences in environments (as you're building against usgovernment)
Can you run a plan against a standard environment and see if it runs through without issue?

i ran az set cloud to go back to AzureCloud and verified i was logged into a commercial subscription and ran init/plan and got the same error.

This looks correct, try excluding that policy set and assignment,

is there documentation on how to exclude specific policies?  thanks!

@mesmashu the procedure for excluding policy assignment is explained here


[proxima] add serialVersionUID to relevant Serializable classes

cc @dmvk

LGTM 👍

Is it possible to introduce a check for spotbugs / sonar, that ensures all serializables use this?

It is not. I actually tried to put this to error prone, but
a) I couldn't make it work, and
b) there are many cases where you don't want that, so it cannot be as a rule
Obvious examples are DoFns, PTransforms, etc.


Increase the size of buttons

Hello, just wondering if it is possible to increase the size of the play button etc? Any help would be much appriciated.
Thank you,

Only indirect, as we want to keep aspect ratio of the buttons.
You can modify the following config: moduleWidth (default set to: 360). If you increase the width of the module (assuming you have enough space on the screen), then the buttons will also grow.
In addition, the fewer buttons which are being displayed, the more space they have. So you could set showAccountButton and / or showDeviceButton to false.
If this is all not helping the last option would be to set style option to mini, which enables the "mini" or rather "compact" display mode. This in addition with moduleWidth option can squeeze out some.

Only indirect, as we want to keep aspect ratio of the buttons.
You can modify the following config: moduleWidth (default set to: 360). If you increase the width of the module (assuming you have enough space on the screen), then the buttons will also grow.
In addition, the fewer buttons which are being displayed, the more space they have. So you could set showAccountButton and / or showDeviceButton to false.
If this is all not helping the last option would be to set style option to mini, which enables the "mini" or rather "compact" display mode. This in addition with moduleWidth option can squeeze out some.

No problem. I'll have a play around with it. Thank you


Refactor provisioning of RuntimeMxBean

Refactor the provider of this to a more common location so that other parts of the framework can rely on an injected RuntimeMxBean.
(Immediate use case is plugging the new MonitoringModule in to our misk apps by default)

Bit of a follow-up for https://github.com/cashapp/misk/pull/2740


Update hosting-exception-handling.md

Summary
Add details on how to explicitly override default behavior.

Calling @Youssef1313 - links verifier issues again, any ideas on this one?

Logs says:
  Get https://mcr.microsoft.com/v2/: dial tcp <IP_ADDRESS>:443: connect: network is unreachable
  Warning: Docker build failed with exit code 1, back off 1.178 seconds before retry.

Can you try re-triggering the build?


Fixed a typo in "Ghost-Admin" link URL

no issue
There was a typo in URL: github.comc instead of github.com so the link didn't work.

Thanks @oshibka404 😄


Inserting row results in success or 'FOREIGN KEY constrain error' depending on how the object was constructed in code

I use a sqlite database.
Simple model: Users <-- UserBoards --> Boards
User and Board have a Guid Id.
UserBoard is a pivot table fot the many to many relation containing the UserId and BoardId columns.
Then when I try to insert a board for a user, and then add an entry in UserBoards. Then I get Exception message: SQLite Error 19: 'FOREIGN KEY constraint failed'.
Now this exception only occurs when I insert like this:
context.Add(new UserBoard
{
    UserId = userIdentifierGuid,
    BoardId = boardIdentifierGuid
});

And it works fine when using it like this:
context.Add(new UserBoard
{
  User = new User { Id = userIdentifierGuid },
  Board = new Board { Id = boardIdentifierGuid }
});

And now the shocker:
When I enable sensitive logging, and watch the generated SQL. Then they are identical both times.
Failed:

Failed executing DbCommand (6ms) [Parameters=[@p0='80460dcb-1017-4441-b1f1-b0163b9bccc5' (DbType = String), @p1='ad47e83e-3992-4f53-9d78-f90780d87203' (DbType = String)], CommandType='Text', CommandTimeout='30']
INSERT INTO "UserBoards" ("UserId", "BoardId")
VALUES (@p0, @p1);

Success:

        Executed DbCommand (2ms) [Parameters=[@p4='80460dcb-1017-4441-b1f1-b0163b9bccc5' (DbType = String), @p5='bc68a863-dcf8-46ba-8727-0f08b9b8c063' (DbType = String)], CommandType='Text', CommandTimeout='30']
INSERT INTO "UserBoards" ("UserId", "BoardId")
VALUES (@p4, @p5);

Why is this happening this way? It doesn't make sense to me.
Further technical details
EF Core version: 2.2.1
Database Provider:  Microsoft.EntityFrameworkCore.Sqlite 2.2.1
Operating system: Windows 10
IDE: Visual Studio 2017 15.9.6
Runtime: dotnet core 2.2.102

@jorisvergeer I have not been able to reproduce this--see my code below. Can you post a small, runnable project/solution or complete code listing (like below) that demonstrates the behavior you are seeing?
public class User
{
    public Guid Id { get; set; }
    public ICollection<UserBoard> UserBoards { get; set; }
}

public class Board
{
    public Guid Id { get; set; }
    public ICollection<UserBoard> UserBoards { get; set; }
}

public class UserBoard
{
    public Guid UserId { get; set; }
    public User User { get; set; }

    public Guid BoardId { get; set; }
    public Board Board { get; set; }
}

public class BloggingContext : DbContext
{
    //private static readonly LoggerFactory Logger
    //    = new LoggerFactory(new[] { new ConsoleLoggerProvider((_, __) => true, true) });

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder
            //.UseLoggerFactory(Logger)
            .UseSqlite("DataSource=testdb");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<UserBoard>().HasKey(e => new {e.UserId, e.BoardId});
    }
}

public class Program
{
    public static async Task Main()
    {
        using (var context = new BloggingContext())
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            context.Add(new User());

            context.SaveChanges();
        }

        using (var context = new BloggingContext())
        {
            var user = context.Set<User>().First();

            var board = context.Add(new Board()).Entity;

            context.SaveChanges();

            context.Add(new UserBoard
            {
                UserId = user.Id,
                BoardId = board.Id
            });

            context.SaveChanges();
        }
    }
}

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


[BUG] Youtube player accepts tap inputs even when the YouTube video is covered by another widget

I have a YouTube video sitting in a container widget in the middle of the screen, but I have a series of overlays that can be presented on screen, for example to login or enter a comment.  These overlays are presented on screen with various methods, for example I like to use Modal Bottom Sheet https://pub.dev/packages/modal_bottom_sheet
As mentioned these overlays will cover the YouTube video, to the point they are no longer seen
However if you click on the overlay or new modal screen in the area where the YouTube video sits, the video will receive those clicks and start playing, or open the settings screen etc...

Hi, this is NOT a bug. Any iframe component has this behaviour - connected to web security. See https://stackoverflow.com/questions/62451268/how-to-prevent-flutter-web-htmlelementview-from-catching-touches-from-objects-ab/71487978#71487978 - where I have also proposed a solution which I am using (DropzoneView)

You can try using this library: https://pub.dev/packages/pointer_interceptor

You can try using this library: https://pub.dev/packages/pointer_interceptor

Doesn't work ...
Would be fantastic to have this functionality though

I place an empty div with the same size before the flutter widget renders (use a 100ms delay). Let me know if you need the code & technique - works for me in all situations on the web


Support list.map(), list.foreach(), etc

JavaScript and python have similar APIs, maybe we can consider it? This should be simple.

They would be simple indeed, even in plain Berry code. However I'm not convinced they would be so useful in the core language. Functional programming in not so intuitive to the regular Berry developer. Said differently, I didn't use such functions in Tasmota.
The one thing that would be awesome if "list comprehension" like in Python. But I'm afraid it's a massive change to the Berry compiler, and maybe not worth it.


Investigate ways of parallelizing more of the linalg-related flow work.

1/3rd of our compile time is spent in the linalg optimization/fusion/etc work. Given the size of the IR this isn't too surprising, however it all runs sequentially which is a little sad:

Much of the time is spent in dealing with affine maps/exprs in local contexts or simplification/dce of IR within dispatch workgroups ops but from a pass running on FuncOp. It'd be nice to see if we could run parallelized canonicalizers first on the ops within the func (nested on linalg ops/flow.dispatch.workgroups) to take care of the most expensive processing in parallel and then run again on the FuncOp to cleanup the remaining pieces (which hopefully will have no more affine exprs to deal with/etc).
Because of the large amount of IR within the FuncOp and the incremental simplification we trigger a tremendous number of liveness recalculations, which may be reduced as we do fewer IR updates while walking the FuncOp:

repeated many times during the FuncOp manipulation:

There may also be some work that could be moved to analysis on linalg ops: running a parallelized linalg-op-local cached analysis immediately prior to fusion (computing all the inputs into the fusion logic) would let us run the mutating work serially as today while still doing the expensive stuff in parallel.
In the current state this could stand to speed up the above by 10x+ even with no other improvements 🎆

Sending to backlog due to the date of the issue - please reprioritize if needed.


Add a border for checkboxes

Before:

Bug seen on Fedora 21.

@SAMdroid-apps, good fix.
Why add that files to .gitignore?

The makefile was generating those files from the .em files

Merged


Error after installation

After following the expo installation instructions in the docs and pressing the Connect button, the modal appears for a fraction of a second and then I get error message:
ERROR  {"context": "client"} undefined is not a function
And this pops up:

I reported this issue in the discord channel, and was asked to open an issue about it. Please let me know if there is any other information you need from me and I'll be happy to provide it.

Hey @taibenvenuti 👋 Can you provide your expo and react-native versions? Also, can you check if adding expo-crypto and the shim solves the problem? Steps here

Expo package version is 48.0.15
Output from yarn expo --version is 0.7.1 though.
React Native version is 0.71.7
As for the shim and expo-crypto, i had that already. As mentioned earlier I did follow the installation intructions for expo to the letter :)

Adding these as well in case they can be useful

@ignaciosantise that's interesting to know. I will try again on a brand new project then.
I am using Expo Go app on Android 12 device, but starting the server without the --android flag, otherwise it doesn't work for me.

@ignaciosantise I just started a fresh project, followed the instructions, and it works!!
I am not really sure what I have on my existing project that prevents it from working but I will now migrate the code to this new project and keep checking along the way. Thanks for the help, and sorry for the time wasted!
If I find out what was the real issue, i'll post on here.

@taibenvenuti good to know it works!


CreateProcedure Script with sql file failing on db2

Environment
Liquibase Version:3.8.0
Liquibase Integration & Version: Gradle
Liquibase Extension(s) & Version: 2.0.4
Database Vendor & Version: DB2 v11.1.4041.600
Operating System Type & Version: Windows 10 1909
Description
Using liquibase to create a procedure with a moderately complex SQL file results in DB2 SQL Error: SQLCODE=-778, SQLSTATE=428D5<EMAIL_ADDRESS>The problem seems to be related to how liquibase manages end-of-statements tokens in the context of the create procedure script. The same SQL file works fine using a more generic "sqlFile" script.
Steps To Reproduce
Current DDL:
CREATE TABLE LIQUIBASE_TEST (
	ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
	REQUIRED VARCHAR(5) NOT NULL WITH DEFAULT '',
	OPTIONAL VARCHAR(5) NULL,
	COUNTER BIGINT NOT NULL DEFAULT 1,
	PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX LIQUIBASE_TEST_INDEX ON LIQUIBASE_TEST(REQUIRED, COALESCE(OPTIONAL, ''));

Changelog:
{
  "objectQuotingStrategy" : "QUOTE_ONLY_RESERVED_WORDS",
  "databaseChangeLog" : [ {
    "changeSet" : {
      "id" : "db.changelog-v20200831_1209_00-0010",
      "author" : "niktekusho",
      "logicalFilePath" : "db.changelog-v20200831_1209_00-0010__niktekusho",
      "runAlways" : false,
      "endDelimiter": "@",
      "splitStatements": false,
      "changes" : [ {
        "createProcedure" : {
          "catalogName" : "${database_name}",
          "schemaName" : "${schema_name}",
          "dbms" : "db2, db2i",
          "encoding" : "UTF-8",
          "path" : "db2SequenceProcedure.sql",
          "relativeToChangelogFile" : false
        }
      } ]
    }
  } ]
}

SQL File ("db2SequenceProcedure.sql")
CREATE OR REPLACE PROCEDURE ${schema_name}.NEXT_COUNTER(
	IN REQ_PARAM VARCHAR(5),
	IN OPT_PARAM VARCHAR(5) DEFAULT NULL,
	OUT NEXT_COUNTER BIGINT)
LANGUAGE SQL
MODIFIES SQL DATA
NOT DETERMINISTIC
COMMIT ON RETURN YES
SPECIFIC NEXT_COUNTER
BEGIN ATOMIC
    IF OPT_PARAM IS NULL THEN
	SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST l WHERE l.REQUIRED = REQ_PARAM AND l.OPTIONAL IS NULL);
	UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND l.OPTIONAL IS NULL;
    ELSE
    	SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST l WHERE l.REQUIRED = REQ_PARAM AND l.OPTIONAL = OPT_PARAM);
	UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND l.OPTIONAL = OPT_PARAM;
	END IF;
END@

Hi @niktekusho Thanks for writing up this issue.  We will add it to our list of issues to process.  If you have a suggest fix, please create a PR and submit it.

Hello @niktekusho , sorry for the late response.
I was able to recreate this bug with liquibase version 4.23.0, though I made a few changes to the SQL code because it wasn't valid syntax.
This is the script that worked when running it directly in a SQL console:
CREATE OR REPLACE PROCEDURE "MYSCHEMA".NEXT_COUNTER(
	IN REQ_PARAM VARCHAR(5),
	IN OPT_PARAM VARCHAR(5) DEFAULT NULL,
	OUT NEXT_COUNTER BIGINT)
LANGUAGE SQL
MODIFIES SQL DATA
NOT DETERMINISTIC
COMMIT ON RETURN YES
SPECIFIC NEXT_COUNTER
BEGIN ATOMIC
    IF OPT_PARAM IS NULL THEN
		SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST WHERE REQUIRED = REQ_PARAM AND OPTIONAL IS NULL);
		UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND OPTIONAL IS NULL;
    ELSE
    	SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST WHERE REQUIRED = REQ_PARAM AND OPTIONAL = OPT_PARAM);
		UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND OPTIONAL = OPT_PARAM;
	END IF;
END@

I will be forwarding this to the development team so they can evaluate how to move forward.
Thank you for letting us know about this issue
Tatiana

Here are the steps to reproduce:

Directly onto your database, execute this script:

CREATE TABLE LIQUIBASE_TEST (
	ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
	REQUIRED VARCHAR(5) NOT NULL WITH DEFAULT '',
	OPTIONAL VARCHAR(5) NULL,
	COUNTER BIGINT NOT NULL DEFAULT 1,
	PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX LIQUIBASE_TEST_INDEX ON LIQUIBASE_TEST(REQUIRED, COALESCE(OPTIONAL, ''));

Create files changelog.json and db2SequenceProcedure.sql as follows:

{
  "objectQuotingStrategy" : "QUOTE_ONLY_RESERVED_WORDS",
  "databaseChangeLog" : [ {
    "changeSet" : {
      "id" : "14523",
      "author" : "niktekusho",
      "logicalFilePath" : "db.changelogsss",
      "runAlways" : false,
      "endDelimiter": "@",
      "splitStatements": false,
      "changes" : [ {
        "createProcedure" : {
          "catalogName" : "LIQUIBASE_TEST",
          "schemaName" : "MYSCHEMA",

          "encoding" : "UTF-8",
          "path" : "db2SequenceProcedure.sql",
          "relativeToChangelogFile" : false
        }
      } ]
    }
  } ]
}

CREATE OR REPLACE PROCEDURE "MYSCHEMA".NEXT_COUNTER(
	IN REQ_PARAM VARCHAR(5),
	IN OPT_PARAM VARCHAR(5) DEFAULT NULL,
	OUT NEXT_COUNTER BIGINT)
LANGUAGE SQL
MODIFIES SQL DATA
NOT DETERMINISTIC
COMMIT ON RETURN YES
SPECIFIC NEXT_COUNTER
BEGIN ATOMIC
    IF OPT_PARAM IS NULL THEN
		SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST WHERE REQUIRED = REQ_PARAM AND OPTIONAL IS NULL);
		UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND OPTIONAL IS NULL;
    ELSE
    	SET NEXT_COUNTER = (SELECT COALESCE(COUNTER + 1, 1) FROM LIQUIBASE_TEST WHERE REQUIRED = REQ_PARAM AND OPTIONAL = OPT_PARAM);
		UPDATE LIQUIBASE_TEST SET COUNTER = NEXT_COUNTER WHERE REQUIRED = REQ_PARAM AND OPTIONAL = OPT_PARAM;
	END IF;
END@

Run liquibase update

You'll get the error liquibase.exception.DatabaseException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END@;T_PARAM;

On your database manager, set the end delimiter to @
Run the script that's on the .sql file, directly on the database manager

It will run with no issues

Setting the endDelimiter to "@" generates an error when running Liquibase update.


style: restructure project

This PR restructures the project to use Yarn Workspaces and TypeScript Project References. This keeps each module of the whole project separate and can also speed up builds when you only touch one module (by not having to rebuild the other modules).
Notes

When you pull, run both yarn and yarn run build. The latter is due to a caveat with TypeScript Project References and will hopefully be remedied automatically in the future. If you don't run yarn run build then you may see errors in your editor for modules that have not been built (or are not yet up-to-date and need to be rebuilt).

I've added a barebones section to the README for getting the project up and running, similar to the info in this PR. I'll have to add a more in-depth guide about the workspace structure when I find a less busy moment.


Question : If the auto-learning depends on Video from Camera, what prevents you from increasing the speed of played videos and improving quickly ?

I'm not sure exactly what you are asking. The model learns from short sequences of images which are processed in parallel on GPUs by training infrastructure. There isn't really a "playback speed" or anything like that during training.


K8SSAND-996 ⁃ Use an EmptyDir volume for /tmp

What is missing?
This is related to #199 and part of the effort to make the root file system read-only. A non-root volume should be used for /tmp. We should use an EmptyDir.
Why do we need it?
Cassandra, management-api, and MCAC all write to /tmp. If we configure the root file system in the cassandra to be read-only several things break as a result of the writes to /tmp
Environment

Cass Operator version:

v1.8.0
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-996
┆priority: Medium

@jsanda @adejanovski should this be in a different state since #218 is in review?

It's not actually in review. I got the PR to a point where it was ready for review and working based on initial testing. I held off on having anyone review due to changes in priorities.

Just realized I didn't answer your question :) yes it should be in a different state.

Hey team! Please add your planning poker estimate with ZenHub @jsanda @burmanm


📖 ⭕ Trigger docs build from circleci

Based on this example https://circleci.com/docs/api/v1-reference/#new-project-build


Update README.md

Corrected a grammatical error

@shreyashpatodia , can you please approve this PR?

I am not a native speaker, but maybe it is either "it comprises two main components" or "it is made up of two main components".
https://www.merriam-webster.com/dictionary/comprise

Yeah very nit picky PR here, but if we want to correct the grammar then @WindQAQ is correct

Done the changes @WindQAQ .
Requesting for a review.

Thank you

My pleasure!!


Snake_water_gun_game_using_javascript

Describe the project
A  two player fun game using javaScript
Issue Type:

[ ] Bug Report
[ ] Feature Request
[ ] Documentation
[x] New Project

Additional context
Add any other context or screenshots about the project here.
Screenshots

If applicable, add screenshots to help explain your problem.

Snake_water_gun_game

Hey @Hanshika-Mehta someone is already working on this issue #342


Prepare Search for July 2024 GA

Prepares azure-search-documents for its July 2024 GA release.

API change check
API changes are not detected in this pull request.

API change check
API changes are not detected in this pull request.


feat: ability to customize SelectionDot component

Description
The current selection dot is 'design-wise' quite opinionated. It has a light shadow and an outer ring.
Instead of introducing a lot of new props (no offence https://github.com/margelo/react-native-graph/pull/21) to customize the look-and-feel of the selection dot, I went for a flexible way to provide your own SelectionDot component.
Demo

Default situation
With custom selection dot

LGTM thank you!


Evolve directory.SECRET.json into a more complex curation tool

The power of polymath is not interacting with one host but rather reaching out to multiple. I imagine people will take great pride in curating an interesting set of different polymath endpoints in their collection. Sometimes they'll want to ask their client to reach out to just one endpoint in their collection using its shortname, sometimes they'll want all of a group of endpoints ("web_dev" vs "philosophy") and sometimes they'll want to try them all.
Currently directory.SECRET.json is a simple little file of shortname to endpoints. We should allow it to nest groups so people can easily select all endpoints in a given group for a given query and organize it in ways they want.
But I also imagine that people will want to share their curated list and let other people use and build off of them, too. That implies not just nesting of endpoints but also the ability to transclude remote endpoint collections from others into your own.
That is, if a polymath endpoint is an RSS feed, we need an equivalent of OPML (but ideally not quite as janky).
In this issue I'm going to sketch out a rough structure for what the format of directory JSON could be, just to doodle on what it could look like. I'll use TypeScript types just to sketch out the schema and how it nests.
The idea is that a given polymath user would maintain their own directory.SECRET.json in a private place (or administered by a service on their behalf). But they could also host a world-accessible version of their directory for others to use, too.
The root type of each directory JSON blob is RootDirectory.
//An ItemName must be [a-zA-Z0-9-_]*
type ItemName = string;

//A DottedItemName is like ItemName(.ItemName)*
type DottedItemName = string;

type URL = string;

//Timestamp is in whatever reasonable format is idiomatic for JSON
type Timestamp = string

type Directory = {
  title?: string,
  description?: string,
  items: {
    [name : ItemName]: Endpoint | Directory | RemoteDirectory | ExpandedRemoteDirectory
  }
}

type DirectoryRoot = Directory & {
  version: int
  //True for which sub listings are enabled by default if the user doesn't specify which endpoints or groups to use. If unset, it will absorb the defaults of sub-directories it transcludes.
  enabled: {
    [path : DottedItemName]: boolean
  }
}

type Endpoint = {
  title?: string,
  description?: string,
  endpoint: URL,
  //If the client is asked to fetch dev endpoints (these should be filtered out of remote fetches)
  dev_endpoint?: EndpointURL,
  //The token to pass when fetching from this endpoint
  access_token? : AccessToken
}

type RemoteDirectory = {
  href: URL
}

type LastFetched = {
  last_fetched: Timestamp
}

type ExpandedRemoteDirectory = ExpandedRemoteDirectorySuccess | ExpandedRemoteDirectoryFailure;

type ExpandedRemoteDirectorySuccess = RemoteDirectory & LastFetched & Directory;

type ExpandedRemoteDirectoryFailure = RemoteDirectory & LastFetched & {
  error: string
}

When a directory.json is loaded, do the following steps.
Recurse through items. Any time a RemoteDirectory is discovered (has an href but no items), do the following steps:

Verify the fetch has not already happened in this expansion; if it has, do not fetch it (to avoid cycles)
Fetch the URL denoted by href
If the fetch errors, replace the RemoteDirectory in the output with an error message and set the last_fetched to the current time, then move on.
If the fetch succeeds, validate that the version matches, and if not upgrade the content to the current version.
In the fetched json, remove the version top level key.
Go through all of the fetched content and remove any access_token or dev_endpoint keys that are found (they should not have been included)
If the fetched json has a dict of enabled, for each item, go up to the root of the whole file and check its enabled property. Construct a name for each subitem by concatenating the path pieces to reach from the root to this part in the sub-directory, and then append the rest of the key in the subdirectory's enabled. If that key already exists and is set to true or false, leave it. If the key is not set, then set it to whatever value was explicitly set in the fetched sub-directory.
Add a last_fetched timestamp set to the current time.
Set the RemoteDirectory to this newly processed json blob.
Recurse down into any sub-items that are a RemoteDirectory and expand them, too. Don't go past a certain configured ply expansions, set by default to 2.

When a directory.json is prepared to be hosted in a publicly accessible location, it should have any access_token and dev_endpoint removed.
Note that although it's possible to have arbitrary nesting of RemoteDirectories, in practice that will get slow to load because it requires serial fetches. That's why the expansion algorithm only goes down 2 ply by default. If you're hosting a directory.json that includes remote sub-directories, it's a best practice to at deploy time fetch the current state of the expansion and transclude them, with a timestamp, and then store that fully-expanded one to serve up. That way other clients won't have to refetch, but can note if the last_fetched is old and decide to refetch sub-items if they want.
Things to think through:

Should endpoints have favicons or something similar?
do we want a concept of tags for more grouping? (How would you merge tag namespaces across different directories that are transcluded into each other?)
Do we want some notion of owner for each endpoint and directory? How would they be described? An email address? but how would things in the ecosystem know that the email was actually tied to that endpoint? What if people didn't want to share their email address?
Do we need a way for there to be private sub-directories transcluded? Some kind of access_token that is passed when the href is GET'd?
Should RemoteDirectory be able to use relative paths, or local filesystem paths (how should that be limited for security?)

https://github.com/dglazkov/polymath/blob/main/polymath/config/README.md should work great here. I will try to tailor it for this use case.


for azure end to end tutorial to work

as discussed, @berndverst

This change is

/ok-to-test

/assign @dsdinter

I approve of this change form a @microsoft Azure perspective .

Thanks @omartin2010 and @berndverst
/lgtm
/approve


[bug] Manual wallets do no appear on Android

Link to minimal reproducible example
n/a
Summary
Expected Behaviour:
I should see the manually configured mobile wallets on both Android and iOS.
Actual Behaviour:
I can only see the manually configured wallets in iOS. Android does not show any.
My package.json
"@web3modal/standalone": "^2.3.7",

My walletConnect.ts

import { Web3Modal } from "@web3modal/standalone"

const web3Modal = new Web3Modal({
  walletConnectVersion: 2,
  projectId: DEFAULT_PROJECT_ID,
  standaloneChains: SUPPORTED_CHAINS,
  mobileWallets: [
    {
      id: "my-example-wallet",
      name: "Example",
      links: {
        universal: "https://example.com",
        native: "myapp://com.emaple/",
      },
    },
  ],
  themeVariables: {
    "--w3m-z-index": "99999999",
  },
  walletImages: {
    "my-example-wallet": "/images/logo/my-manual-wallet.png",
  },
})

List of related npm package versions
@web3modal/standalone: ^2.3.7

Android doesn't show individual wallets, it has one universal option (button) that applies to all as android devices can handle our wc:// deeplink by presenting user with native ui that lists all apps that can open it.

As a sidenote @web3modal/standalone has been deprecated. You likely want to use @walletconnect/modal package or @walletconnect/ethereum-provider


fix for optional auth where user is logged in before auth response ch…

…eck.
User needs to be logged out if not authenticated.

cancelled check was against a protected property will fix that up and do another pull request.


[IC3 ACS Chat] API Review

New API Review meeting has been requested.
Service Name: IC3 ACS Chat
Review Created By: Lu Chen @LuChen-Microsoft
Review Date: 3/30/2023 4:00 PM PT
PR: https://github.com/Azure/azure-rest-api-specs/pull/22858
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description:
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Meeting updated by Lu Chen
Service Name: IC3 ACS Chat
Review Created By: Lu Chen
Review Date: 3/23/2023 8:00 AM PT
PR: https://github.com/Azure/azure-rest-api-specs/pull/22858
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description:
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

@LuChen-Microsoft There has been a scheduling snafu and we have two reviews scheduled for 8AM PT on Thursday.  I see that your review was initially scheduled for 4PM, and that time is still available. Can we move your review back to 4PM or is that too far outside working/waking hours for your timezone?

Meeting updated by Lu Chen
Service Name: IC3 ACS Chat
Review Created By: Lu Chen
Review Date: 3/23/2023 8:00 AM PT
PR: https://github.com/Azure/azure-rest-api-specs/pull/22858
Hero Scenarios Link: here
Core Concepts Doc Link: here
Description: ACS Chat is adding a RetentionPolicy property into Thread model.
It is used to specify the retention policy for the thread. The retention policy specifies how long the thread should be retained. You can create a thread with a retention policy by setting the RetentionPolicy property of the Thread model to the desired retention policy. You can get the retention policy of a thread by reading the RetentionPolicy property of the Thread model. You can update the retention policy of a thread by setting the RetentionPolicy property of the Thread model to the new retention policy.
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

@LuChen-Microsoft There has been a scheduling snafu and we have two reviews scheduled for 8AM PT on Thursday. I see that your review was initially scheduled for 4PM, and that time is still available. Can we move your review back to 4PM or is that too far outside working/waking hours for your timezone?

@mikekistler  Yes, 4pm works for me.

Meeting updated by Mariana Rios Flores
Service Name: IC3 ACS Chat
Review Created By: Lu Chen
Review Date: 3/23/2023 4:00 PM PT
PR: https://github.com/Azure/azure-rest-api-specs/pull/22858
Hero Scenarios Link: here
Core Concepts Doc Link: here
Description: ACS Chat is adding a RetentionPolicy property into Thread model.
It is used to specify the retention policy for the thread. The retention policy specifies how long the thread should be retained. You can create a thread with a retention policy by setting the RetentionPolicy property of the Thread model to the desired retention policy. You can get the retention policy of a thread by reading the RetentionPolicy property of the Thread model. You can update the retention policy of a thread by setting the RetentionPolicy property of the Thread model to the new retention policy.
Meeting moved to 4PM PST as requested by Mike Kistler
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Notes from the 3/23 review:

Consider a shorter name for the retention policy
Sync before GA on how to proceed about the 90 day required value
Sync before GA about being able to update policies

New API Review meeting has been requested.
Service Name: IC3 ACS Chat
Review Created By: Lu Chen
Review Date: 01/24/2024 09:00 AM PT
Onboarding Record:
PR:
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: We haven't released/implemented the changes since the API review discussion last time. We are seeing some updates from our dependency for the object model and considering the new names.
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Cancelled by: Lu Chen


[FLINK-30342][test] Migrates ZooKeeperLeaderElectionTest to use the MultipleComponentLeaderElectionDriver interface

https://github.com/apache/flink/pull/21742
https://github.com/apache/flink/pull/22379
https://github.com/apache/flink/pull/22422
https://github.com/apache/flink/pull/22380
https://github.com/apache/flink/pull/22623
https://github.com/apache/flink/pull/22384
https://github.com/apache/flink/pull/22390
https://github.com/apache/flink/pull/22404
https://github.com/apache/flink/pull/22601
https://github.com/apache/flink/pull/22642
https://github.com/apache/flink/pull/22640
https://github.com/apache/flink/pull/22656
https://github.com/apache/flink/pull/22828
https://github.com/apache/flink/pull/22830
== THIS PR === FLINK-30342
https://github.com/apache/flink/pull/22661

What is the purpose of the change
Migrating the ZooKeeperLeaderElectionTest tests that do not use the DefaultLeaderElectionService to the MultipleComponentLeaderElection* interfaces.
Brief change log

Refactored ZooKeeperLeaderElectionTest

Verifying this change

The existing tests should still pass

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Force-pushed rebase to master (no additional changes)

I had to change the order of the PRs because I realized that I did assign a few commits to the wrong branch/PR. But I didn't want to touch the already approved PR FLINK-30344. I updated the order in the PR overview. But essentially, the order the PRs are based on each other is now reversed:

FLINK-30344
FLINK-30343
FLINK-30342

force-push due to rebase and commit squash for a final CI run


📦💻 - Try out native LSP configuration instead of CoC

CoC is awesome, but I'm starting to feel like I might have an easier times with less configuration layers, and maybe I'll be able to make better use of LSP features of something like Omnisharp without depending on something like CoC or csharp-ls to provide them. I should try it out to check if that's the case.

Things to fix:

Add auto pairing for '<' on C# and Rust;
Fix C-J and C-K for snippets next node;


Redirecting to an article detail view based on search query isn't working

Preflight Checklist

[I have searched the issue tracker for this issue and couldnt find any, hence created a new one]

Describe the bug
When an article is searched for, it displays article if present, but redirecting to that searched article isn't working when clicked

To Reproduce
Steps to reproduce the behavior:

Go to 'Homepage'
Click on Enter after search query is typed
Scroll down to 'the required query result if present in db'
See error (Here unable to go to that searched article)

What was expected ?
To be redirected to the searched article when clicked on it

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here (include commit numbers and branches if relevant)

I would be happy to contribute to it somebody is not. Thanks

@rshalem i assigned you !

Hey :) Hope you guys are doing good.
Couple of questions,

We already have a view to handle article via its primary key, so it can be used for Detail view for that article
Also, do we want a detail view page to be there ? If yes, is the detail page template created already ?
If not then when its created, we have to only refer this getArticle view

Looking forward to hear from you

Hey :) Hope you guys are doing good.
Couple of questions,

We already have a view to handle article via its primary key, so it can be used for Detail view for that article
Also, do we want a detail view page to be there ? If yes, is the detail page template created already ?
If not then when its created, we have to only refer this getArticle view

Looking forward to hear from you

@PraveenMalethia @abhivemp

@rshalem I think this issue should have been created in the Mumble (react ui) repo.  All of the backend endpoints needed to fetch a single article exist.  I think this issue is related to adding a link to the UI when clicking the article.  Please correct me if I am wrong.  If you think this is a UI related issue, please close and re-open in the other repo @ https://github.com/divanov11/Mumble

@codyseibert I thought so as well. This is something related to frontend. I can close this issue here right ?


Introduce the CountVectorizer node

Description
Introduces a CountVectorizer node, a fundamental function for NLP .
Also adds a test, and updates the requirements
Eventually this node will take more parameters, but I wanted to get it out the door first

[ ] I've included a concise description of what each node does

Styleguide

[ ] My node adheres to the styleguide for Flojoy nodes

Docs

[ ] I've submitted a PR for a documentation page for the new node(s) that contains usage examples (see docs.flojoy.io)

ok @smahmed776 that change has been made. Please take a look!


make install error

In file included from vendors.cc:8:0:
vendor_jansson.cc:8:21: fatal error: jansson.h: No such file or directory
#include "jansson.h"
^
compilation terminated.
Makefile:473: recipe for target 'vendors.lo' failed
make[2]: *** [vendors.lo] Error 1
make[2]: Leaving directory '/root/wampcc/jalson/src'
Makefile:404: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/root/wampcc/jalson'
Makefile:405: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Hi
Looks like it cannot find the jansson.h file, which is part lib-jansson.   When you configured the source code, you would have provided an option like --with-jansson=/opt/jansson-2.7
Can you check the path you provided for jansson?  Under that path, there should be a file called include/jansson.h.   E.g, if the jansson path is /opt/jansson-2.7 the following file must exist: /opt/jansson-2.7/include/jansson.h

@darrenjs thank you
/bin/bash ../libtool  --tag=CXX   --mode=link g++ -std=c++11 -Wall -g3 -ggdb -O0 -I/opt/jansson-2.7/include -g -O2 -version-info 0:0:0  -o libwampcc_json.la -rpath /var/tmp/wampcc_install/lib json_pointer.lo jalson.lo vendors.lo /opt/jansson-2.7/lib/libjansson.la
libtool: link: cannot find the library /opt/jansson-2.7/lib/libjansson.la' or unhandled argument /opt/jansson-2.7/lib/libjansson.la'
Makefile:446: recipe for target 'libwampcc_json.la' failed
make[2]: *** [libwampcc_json.la] Error 1
make[2]: Leaving directory '/root/wampcc/jalson/src'
Makefile:404: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/root/wampcc/jalson'
Makefile:405: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Hi
Thanks for this.  So looks like it cannot find /opt/jansson-2.7/lib/libjansson.la.  Does that file exist on your machine? Can you try running ls /opt/jansson-2.7/lib/* and copy output here ?

I build jansson.
$ ./configure
$ make
$ make install
root@debian:/opt/jansson-2.7# ls lib
ls: cannot access lib: No such file or directory
root@debian:/opt/jansson-2.7# ls src
dump.c	 error.lo     hashtable.lo	 hashtable_seed.o     jansson.h		 load.lo    Makefile.am  memory.o	 strbuffer.c   strconv.c   utf.h    value.lo
dump.lo  error.o      hashtable.o	 jansson_config.h     jansson_private.h  load.o     Makefile.in  pack_unpack.c	 strbuffer.h   strconv.lo  utf.lo   value.o
dump.o	 hashtable.c  hashtable_seed.c	 jansson_config.h.in  libjansson.la	 lookup3.h  memory.c	 pack_unpack.lo  strbuffer.lo  strconv.o   utf.o
error.c  hashtable.h  hashtable_seed.lo  jansson.def	      load.c		 Makefile   memory.lo	 pack_unpack.o	 strbuffer.o   utf.c	   value.c

Ok. This is generally not the recommended way to build jansson. What you can try is rebuilding jansson again (starting from a clean directory and fresh unzip) but using the prefix option to configure (this tells configure where the final installation is going to live):
./configure --prefix=/opt/jansson-2.7

It's also good practise to avoid building from inside the source directory. Buy try this change to configure, followed by make install.  If the libs appear, youll know it has worked.

ok, thank you. libuv must be build.
https://github.com/libuv/libuv
$ sh autogen.sh
$ ./configure
$ make
$ make check
$ make install
otherwise has error
wampcc/io_loop.h:20:16: fatal error: uv.h: No such file or directory  #include <uv.h>                 ^ compilation terminated. Makefile:570: recipe for target 'ssl_socket.lo' failed make[1]: *** [ssl_socket.lo] Error 1 make[1]: Leaving directory '/root/wampcc/lib' Makefile:405: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1
is this info that the build was successful?
root@debian:~/wampcc# make install ............................ libtool: link: g++ -g -O2 -o .libs/test_wamp_rpc test_wamp_rpc.o  -L../lib /root/wampcc/lib/.libs/libwampcc.so -L../jalson/src /root/wampcc/jalson/src/.libs/libwampcc_json.so -L/opt/libuv-1.10.2/lib -luv -lcrypto -lpthread ./.libs/libgtest.a -pthread -Wl,-rpath -Wl,/var/tmp/wampcc_install/lib make[2]: Entering directory '/root/wampcc/test' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/root/wampcc/test' make[1]: Leaving directory '/root/wampcc/test' make[1]: Entering directory '/root/wampcc' make[2]: Entering directory '/root/wampcc' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/root/wampcc' make[1]: Leaving directory '/root/wampcc'

Looks like it is still failing, but this time on trying to find the libuv header files.
When you configure libuv, you should use the --prefix option, in a similar way to building jansson.
To test that the wampcc works, try compiling the examples.
cd examples
make
This will likely give errors saying you need to define some environment variables, so define them as required (refer to the paths you have earlier used for libuv, jansson etc).   Also see if the  admin program has been installed, under the prefix location you used when configure of wampcc.

I don't know what reason.
libtool: link: g++ -g -O2 -o .libs/test_wamp_rpc test_wamp_rpc.o  -L../lib /root/wampcc/lib/.libs/libwampcc.so -L../jalson/src /root/wampcc/jalson/src/.libs/libwampcc_json.so -L/opt/libuv-1.10.2/lib -luv -lcrypto -lpthread ./.libs/libgtest.a -pthread -Wl,-rpath -Wl,/var/tmp/wampcc_install/lib
make[2]: Entering directory '/root/wampcc/test'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/root/wampcc/test'
make[1]: Leaving directory '/root/wampcc/test'
make[1]: Entering directory '/root/wampcc'
make[2]: Entering directory '/root/wampcc'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/root/wampcc'
make[1]: Leaving directory '/root/wampcc'
root@debian:~/wampcc# cd examples/
root@debian:~/wampcc/examples# make
makefile:9: *** WAMPCC_HOME undefined - set WAMPCC_HOME to where wampcc was make-installed.  Stop.

If in bash, do something like:
export WAMPCC_HOME=/root/wampcc

ok,thank you.
Recommended as bonefish, add third-party, and auto build.

Hi,  updated the autotools configure.ac etc, so that some of the example programs will get automatically built. So just need to do the normal configure  & make, and some of the examples will be built and then ready to be run.

root@debian:/opt# ls -al
total 3692
drwxr-xr-x  6 root root    4096 Jun  8 09:02 .
drwxr-xr-x 22 root root    4096 Apr  3 12:38 ..
drwxrwxr-x  7 test zdz     4096 Oct  2  2014 jansson-2.7
drwxrwxr-x  9 root root    4096 Jan 10 02:42 libuv-1.10.2
drwxr-xr-x 13 root root    4096 Jun  8 09:06 wampcc

export LIBUV_HOME=/opt/libuv-1.10.2
export JANSSON_HOME=/opt/jansson-2.7
export WAMPCC_HOME=/opt/wampcc
cd wampcc/
./fetch_prerequisites.sh

./autotools_setup.sh

./configure  --prefix=/var/tmp/wampcc_install  --with-libuv=/opt/libuv-1.10.2 --with-jansson=/opt/jansson-2.7

make install
////////////////////////////////////////////.
libtool: link: cannot find the library /opt/jansson-2.7/lib/libjansson.la' or unhandled argument /opt/jansson-2.7/lib/libjansson.la'
Makefile:447: recipe for target 'libwampcc_json.la' failed
make[2]: *** [libwampcc_json.la] Error 1
make[2]: Leaving directory '/opt/wampcc/jalson/src'
Makefile:404: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/opt/wampcc/jalson'
Makefile:405: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
/////////////////////////////////////////////

Hi, thanks for this.  I think its worth writing up a step by step guide.
From the above, I can see that those steps have the configure command being executed from inside
the wampcc source directory, whereas it only seems to work if executed outside of there.
So, lets say that the intention is to install wampcc under /opt  (just like jansson & libuv have been, which is a good pattern).  Then commands can be like:

# create wampcc base directories
mkdir /opt/wampcc
mkdir /opt/wampcc/build

# clone wampcc into 'src' directory
cd /opt/wampcc
git clone https://github.com/darrenjs/wampcc.git  src

# fetch prerequisities into source directory
cd /opt/wampcc/src
./fetch_prerequisites.sh
./autotools_setup.sh

# configure the make files, from inside the 'build' directory, and set the
# install prefix to be '/opt/wampcc'
cd /opt/wampcc/build
../src/configure --prefix=/opt/wampcc --with-libuv=/opt/libuv-1.10.2 --with-jansson=/opt/jansson-2.7

# compile
make -j

# test that 'basic_embedded_router' was automatically built (only a couple of
# the examples get built automatically)
./examples/basic_embedded_router  55533

# finally, install the wampcc header & libs (into /opt/wampcc)
make install

# check the `admin` command was installed, this will success if the example
# router is still running
/opt/wampcc/bin/admin <IP_ADDRESS> 55533 -c greeting

# Now try to build all the examples, using the installed header & library
# files. This how custom application would build against wampcc.
export LIBUV_HOME=/opt/libuv-1.10.2
export JANSSON_HOME=/opt/jansson-2.7
export WAMPCC_HOME=/opt/wampcc
cd /opt/wampcc/src/examples
make

Hi! Seems to be related to the topic.
With autotools build even when libuv and jansson are installed in standard way, configuration doesn't detect it and complains. Please review and apply if appropriate the patch below. It fixes the issue for me.
ac.patch.txt

Another issue it is 'makefile' placed in examples - it has higher priority for 'make' program and requires some extra stuff to build normally (which is annoying). With regular automake's Makefile the directory build is fine. I would suggest to rename this 'makefile' for custom uses. Thanks!

Hi.  For the makefile in 'exampes',   how do you mean it takes higher priority?  During an autotools build, this makefile is skipped over. The intention of this file is to be an example makefile for building the examples, after wampcc has been installed.

Hi @darrenjs !

For the makefile in 'exampes', how do you mean it takes higher priority?

When 'make' program is invoked it looks for its default makefile in order: makefile, Makefie (https://www.gnu.org/software/make/manual/html_node/Makefile-Names.html)

During an autotools build, this makefile is skipped over.

Not really, 'makefile' is used first instead of automake's  'Makefile':
$ make
make  all-recursive
make[1]: Entering directory '/home/sashak/src/wampcc'
Making all in libs
make[2]: Entering directory '/home/sashak/src/wampcc/libs'
Making all in json
make[3]: Entering directory '/home/sashak/src/wampcc/libs/json'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/sashak/src/wampcc/libs/json'
Making all in wampcc
make[3]: Entering directory '/home/sashak/src/wampcc/libs/wampcc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/sashak/src/wampcc/libs/wampcc'
make[3]: Entering directory '/home/sashak/src/wampcc/libs'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/sashak/src/wampcc/libs'
make[2]: Leaving directory '/home/sashak/src/wampcc/libs'
Making all in utils
make[2]: Entering directory '/home/sashak/src/wampcc/utils'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/sashak/src/wampcc/utils'
Making all in tests
make[2]: Entering directory '/home/sashak/src/wampcc/tests'
Making all in json
make[3]: Entering directory '/home/sashak/src/wampcc/tests/json'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/sashak/src/wampcc/tests/json'
Making all in wampcc
make[3]: Entering directory '/home/sashak/src/wampcc/tests/wampcc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/sashak/src/wampcc/tests/wampcc'
make[3]: Entering directory '/home/sashak/src/wampcc/tests'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/sashak/src/wampcc/tests'
make[2]: Leaving directory '/home/sashak/src/wampcc/tests'
Making all in examples
make[2]: Entering directory '/home/sashak/src/wampcc/examples'
makefile:21: *** WAMPCC_HOME undefined - set WAMPCC_HOME to where wampcc was make-installed.  Stop.
make[2]: Leaving directory '/home/sashak/src/wampcc/examples'
Makefile:426: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/sashak/src/wampcc'
Makefile:358: recipe for target 'all' failed
make: *** [all] Error 2

The intention of this file is to be an example makefile for building the examples, after wampcc has been installed.

That is understood. The problem is that for normal installation 'Makefile' should be used there.
The simple solution would be to rename 'makefile' to something like 'makefile.examples' and after build and installation to create symbolic link:
ln -s makefile.examples makefile

, and work as you desire.
Another option would be to remove examples/ from SUBDIRS of top level Makefile.am, IOW to exclude it from the build process. But in this case your users will need to bother with 'makefile''s definitions manually.

Hi, okay, I see this happens when configure has been executed inside the source tree.  I renamed the makefile.  And incorparated your patch also.  Many thanks for the feedback.

Thank you for the great project and quick response. )

root@ubuntu:/opt/wampcc/build$ sudo ../src/configure --prefix=/opt/wampcc --with-libuv=/opt/libuv-1.10.2 --with-jansson=/opt/jansson-2.7 root@ubuntu:/opt/wampcc/build$ make install Making install in libs make[1]: Entering directory '/opt/wampcc/build/libs' Making install in json make[2]: Entering directory '/opt/wampcc/build/libs/json' depbase=echo vendors.lo | sed 's|[^/]*$|.deps/&|;s|.lo$||';\ /bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../src/libs/json -I../..    -I../../../src/include -I../../../src/3rdparty/msgpack-c/include -I/opt/jansson-2.7/include -std=c++11 -Wall -g -O2 -MT vendors.lo -MD -MP -MF $depbase.Tpo -c -o vendors.lo ../../../src/libs/json/vendors.cc &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../../src/libs/json -I../.. -I../../../src/include -I../../../src/3rdparty/msgpack-c/include -I/opt/jansson-2.7/include -std=c++11 -Wall -g -O2 -MT vendors.lo -MD -MP -MF .deps/vendors.Tpo -c ../../../src/libs/json/vendors.cc  -fPIC -DPIC -o .libs/vendors.o In file included from ../../../src/libs/json/vendors.cc:8:0: ../../../src/libs/json/vendor_jansson.h:10:66: fatal error: jansson.h: No such file or directory compilation terminated. Makefile:492: recipe for target 'vendors.lo' failed make[2]: *** [vendors.lo] Error 1 make[2]: Leaving directory '/opt/wampcc/build/libs/json' Makefile:374: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory '/opt/wampcc/build/libs' Makefile:426: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1

So it cannot find jansson.h.      It  looks like you have installed jansson under /opt/jansson-2.7  .   The header file should thus be at:   /opt/jansson-2.7/include/jansson.h   ... if you have installed jansson using the standard configure approach.    It's either not there, or, the root user does not have permission to access it; I note that the jansson-2.7 folder is owned by a different user  fxkjroot .... that's possibly the reason.
Note that it's not generally recommended to do build/test/install as root etc.


Only use the df[!, :col] for mutation

Right now the code in http://preview-lectures.quantecon.org.s3-website-ap-southeast-2.amazonaws.com/jl/more_julia/data_statistical_packages.html#Constructing-a-DataFrame shows df[!, :col] but I don't think you need to do that unless you are mutating it?

Handing #687 over to you for checking.  Merge after you make sure I didn't make any mistakes.

Closing since we merged #687


Emoji zwj sequences with native fonts

When using the native font option emoji zwj sequences are not displayed correctly.
Its producing html like this:
👨⚕
 should be  '\u200D'

The problem is solved after I switched to:

include the NotoColorEmoji font
use the googe.json data file for native font emoji.

 In general, native emoji are quite hard to get working properly because they are rendered by operating system.
Browsers still lack a unified support for color fonts (see https://www.colorfonts.wtf/), so we can not include a font for emojis along with the web application, we can only hint the fonts to use via font-family and the reset depends on the browser and operating system combination.
There is more information about this in the readme, check the part starting with "The select event can be handled to insert the emoji into the text area or use it in any other way...".

@serebrov thanks for the update.
In my case size does not matter and I can ship the font with the app, either as PWA or with a framework like Electron.

@agnauck what I mean is that, regardless of the size, there is no font to ship because browsers don't support color fonts uniformly yet, see the "Web browsers" section on https://www.colorfonts.wtf/.
Probably native emojis can work in Electron, but not in PWA, unless the usage is limited to the specific browser and operating system.
At least I didn't find any way to do that when I've checked this topic last time. I started using the native emoji hoping to have a simple solution, but after testing in different operating systems and browsers and trying different font settings, I found that it "almost" works.
Usually native emoji are good, but it may depend, for example, on the specific fonts installed on the user machine. So I've switched to emoji images as a solution that works everywhere.


key bindings no effect

Category

[ ] fzf binary
[ ] fzf-tmux script
[x] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

hi, source ~/.fzf.zsh must added into .zshrc file?
i added this in .zshrc.local. but key bindings no effect.

Unless the key bindings are reset in your configuration file, the location/position shouldn't matter. Check the output of bindkey | grep fzf.

I have them all
$ bindkey | grep fzf
"^G^B" fzf-gb-widget
"^G^F" fzf-gf-widget
"^G^H" fzf-gh-widget
"^G^R" fzf-gr-widget
"^G^T" fzf-gt-widget
"^I" fzf-completion
"^R" fzf-history-widget
"^T" fzf-file-widget
"^[c" fzf-cd-widget

but bindings for git do nothing.

Update.
Conflicted with zshell git plugin. After I removed it, everything works smooth.

If you mean that – https://gist.github.com/junegunn/8b572b8d4b5eddd8b85e5f4d40f17236
So, these keybinds works for my zsh only after I turn off git plugin from oh-my-zsh.

@yevhen-m You got the "bindings for git" from this post, right? They are not from this repository.

@junegunn that's right.


Allow symbol-named method names

For specs which aren't using Web IDL, but are trying to use Bikeshed's linking constructs regardless, the validation on method names is too strict, when we want to use symbol-named methods.
IMO either of the following should work:

[@@asyncIterator]()

[Symbol.asyncIterator]()

but they give errors. (The wrong error message; see #1343.)


Evaluate independent rules concurrently

This PR started from all commits in https://github.com/prometheus/prometheus/pull/12946 (which I've squashed) and then I've addressed all comments left by @gotjosh there. The reason why I've opened this PR is because @dannykopping went on PTO, he asked me to address remaining comments, but I just realised I don't have privileges to push to his branch.
I preserved the authoring of the initial work by @dannykopping in the first commit.
Closes #13476
PR description inherited from #12946
This PR aims to improve the problem of missed group evaluations by parallelizing work which can be parallelized to prevent groups from overrunning their interval.
Groups execute concurrently, while their constituent rules execute sequentially. Rules are evaluated sequentially because rules can have dependencies on one another. If one rule depends on the result of another rule, it is placed later in the order of execution by the operator.
However when no explicit relationships exists between rules (i.e. a rule does not depend on the resulting metric from a preceding recording rule), there is no reason to run these rules sequentially.
This PR determines if an explicit relationship can be found between two rules and, if not, it will evaluate the rule concurrently. The group will still wait for all rules to complete in order to maintain its current behaviour (i.e. if all rules cumulatively overrun the group interval, skip the next interval). This is relatively simple: enumerate all metrics used in each rule and if any of those are metrics produced by a recording rule, neither rule can execute concurrently.
I've implemented bounded concurrency, which would allow operators to control how much additional query load this would put on their Prometheus server. If the concurrency limit is in force, rules will evaluate sequentially as before.

I got access to Danny's repo, so I will push these commits back to #13476


[interactions] ngpHover should probably have model inputs instead of outputs

Feature Type
Enhancement
Feature Description
I was playing with the documentation on ngpHover and think that ngpHover could have model inputs instead of just output

  {{ isHovering() ? 'Hovering' : 'Not Hovering' }}

  {{ isHovering() ? 'Hovering' : 'Not Hovering' }}

Same for ngpHoverStart and ngpHoverEnd.
I'm willing to send a PR for this.

Hi, thank you for the feedback!
Interesting, my thoughts when developing this was that the hover event is triggered solely by user interaction - and would never programmatically be set - hence the output but no input, but this would suggest that you may want to programmatically set the hover state by providing an input value as well?
Is there a specific use case for setting the hover state via the input without user interaction? Or is the suggestion more that it negates the need to manually call the .set($event) function on the signal, therefore reducing the amount of code required to bind to the value?
There is one potential issue I foresee, I would be interested on any thoughts you may have about it. Using model works great in the case where we want to bind the value to a signal, however in cases where we just want to call a method on hover, we can't just do this:
 ❌

As this no longer matches the selector of [ngpHover]. We also can't just add the ngpHover attribute because it now expects a boolean value for the ngpHover input:
 ❌

So the only option would be to add additional selectors:
@Directive({
  standalone: true,
  selector: '[ngpHover],[ngpHoverChange]',
})

Which would grow if we also did this for all the events:
@Directive({
  standalone: true,
  selector: '[ngpHover],[ngpHoverChange],[ngpHoverStart],[ngpHoverEnd]',
})

I guess whatever option we choose should be consistent across all interaction types too. I'd be interested to hear any thoughts you have on the matter! Thank you for the suggestion!

I suppose one option would be to require the ngpHover selector to be present, and have a separate model, e.g.

I'm not sold on the name ngpHovered but for illustration purposes this approach in general would work.


Music symbols are missing

Can you please add music symbols to symbol.wtf?
https://www.alt-codes.net/music_note_alt_codes.php

Thanks for filing this issue! I don't plan to add these myself but would happily accept a PR adding them if you want to go ahead and do so. 🙏


We can only user MMDrawController with storyBoard current, can we use it programmlly

            if let vc = UIStoryboard.init(name: "XXX", bundle: nil).instantiateInitialViewController() {
                self.drawer()?.set(main: vc)
            }


Restart Round vote does not work properly

Description
Sentient ghost roles (in this case, carps) and/or possibly non-sentient ones are being counted as "players" or alive people. This is on server Levi: we have 46 people in the game and only 3 people alive. Let it be known NO ONE called Evac. This server thankfully had gone for an hour and at this point, an automated shuttle saved the station and game from going on longer. We could have restarted the round MUCH sooner though.
Screenshots

For anyone attempting to address this issue, I just want to mention that the admin team at large really does not like restart votes. They're viewed as a necessity for small pop servers, but generally not wanted for anything approaching a mid-large pop game where it is much preferred to allow the game to play out.
With that said, I personally think restart votes are a bad bandaid for what could instead be ways for ghosts/observers to enjoy the game. I leave the design of that up to the reader though.

Restart votes were made when there wasn't a playable game yet, for the express purpose of allowing people to restart an empty testing server if they joined and found half the place spaced.
Did you know restart votes are basically instant if you're the only person on the server? Yeah.

I’ve seen various rounds where the station is completely unsaveable, usually due to a Tesla/singuloose. In such a time a restart vote is nice to just avoid literally waiting 15 minutes for the already basically over round to end. Is the station getting to that point in the first place a design issue? Maybe, but it’s still one that exists and thus I think restart votes should at least function. I really don’t believe anyone wants to keep playing out a round where 42 out of the 45 players on the server are dead.

I’ve seen various rounds where the station is completely unsaveable, usually due to a Tesla/singuloose. In such a time a restart vote is nice to just avoid literally waiting 15 minutes for the already basically over round to end. Is the station getting to that point in the first place a design issue? Maybe, but it’s still one that exists and thus I think restart votes should at least function. I really don’t believe anyone wants to keep playing out a round where 42 out of the 45 players on the server are dead.

mobile discord :trollface:

mobile discord :trollface:

I’ve seen various rounds where the station is completely unsaveable, usually due to a Tesla/singuloose. In such a time a restart vote is nice to just avoid literally waiting 15 minutes for the already basically over round to end. Is the station getting to that point in the first place a design issue? Maybe, but it’s still one that exists and thus I think restart votes should at least function. I really don’t believe anyone wants to keep playing out a round where 42 out of the 45 players on the server are dead.
(sorry mobile discord sucks, deleted the second comment)

Exactly this and why I'd want it fixed. Literally in my example and bug game we wanted out and didn't want to sit there for 10-15 minutes waiting for the damn shuttle. It couldn't been over SO much sooner.
This isn't the only time this has happened and it's quite frequent where people don't want to wait. Even in nukie rounds; crew lost? Nuke just got activated? Theres like 5 people alive on crew with a full team of nukies??? Gg go next restart the round.
Also, we're on Discord?!?!?

For anyone attempting to address this issue, I just want to mention that the admin team at large really does not like restart votes. They're viewed as a necessity for small pop servers, but generally not wanted for anything approaching a mid-large pop game where it is much preferred to allow the game to play out. In practice, they either always end the round early because someone died and doesn't want to wait for other players to finish the round, or they get used when players encounter a bug large enough to prevent the game from being played. The former is just bad manners and feels shitty, the latter does nothing to improve the situation but does make diagnosing the issue on live more annoying.
With that said, I personally think restart votes are a bad bandaid for what could instead be ways for ghosts/observers to enjoy the game. I leave the design of that up to the reader though.

55% of the crew has to be dead for the restart round to even go up. I really don't see how that's a bad thing to have or causes any issues. If 55+% of the entire server want to go next/restart then why not? Clearly they have majority?

Restart votes were made when there wasn't a playable game yet, for the express purpose of allowing people to restart an empty testing server if they joined and found half the place spaced.
Did you know restart votes are basically instant if you're the only person on the server? Yeah.

It's instant? Since when? Last time I did that on Vulture when I was alone I still had to wait a whole minute.

Loose waiting room is indeed very wack. Like its one thing when half station dead and syndies use the chaos to get their greentext yada yada. Can still be argued it makes round unfun for majorty but whatever.
But then you have all those rounds where people alive can be counted on fingers of one hand and its only some kind of stalemate of 2 cargo techs waiting on cargo shuttle for evac to arrive only not to board it cause theres 43953753 zombies anyways so its ssd ops but worse for 15 mins cause you do not have your usual job. That or its loose but nearly everyone is dead already too.

This isn't the only time this has happened and it's quite frequent where people don't want to wait. Even in nukie rounds; crew lost? Nuke just got activated? Theres like 5 people alive on crew with a full team of nukies???  I really don't see how that's a bad thing to have or causes any issues. If 55+% of the entire server want to go next/restart then why not? Clearly they have majority?

This is the exact reason we do not want restart votes. This is lame, and you should feel lame for thinking it's at all reasonable. Just because you died does not mean the round should end for everyone, or anyone.

But then you have all those rounds where people alive can be counted on fingers of one hand and its only some kind of stalemate of 2 cargo techs waiting on cargo shuttle for evac to arrive only not to board it cause theres 43953753 zombies anyways so its ssd ops but worse for 15 mins cause you do not have your usual job. That or its loose but nearly everyone is dead already too.

Similar opinion as above. If zombies winning is boring, add things to make zombies winning less boring.

Also, we're on Discord?!?!?

https://discord.gg/CSQY4vuV

This isn't the only time this has happened and it's quite frequent where people don't want to wait. Even in nukie rounds; crew lost? Nuke just got activated? Theres like 5 people alive on crew with a full team of nukies???  I really don't see how that's a bad thing to have or causes any issues. If 55+% of the entire server want to go next/restart then why not? Clearly they have majority?

This is the exact reason we do not want restart votes. This is lame, and you should feel lame for thinking it's at all reasonable. Just because you died does not mean the round should end for everyone, or anyone.

But then you have all those rounds where people alive can be counted on fingers of one hand and its only some kind of stalemate of 2 cargo techs waiting on cargo shuttle for evac to arrive only not to board it cause theres 43953753 zombies anyways so its ssd ops but worse for 15 mins cause you do not have your usual job. That or its loose but nearly everyone is dead already too.

Similar opinion as above. If zombies winning is boring, add things to make zombies winning less boring.

You realize it's 55%+ of the entire round of people thst have to be dead right? Not just one person? I absolutely do not blame people for wanting to not wait around for the inevitable.
Zombies is also sad because we have to call evac. There's no way for zombies that died to get revived- so every dead zombie is just round removed. I haven't seen a restart for a zombie round quite yet though, however, not surprised if there has been some. It just makes nse that more than half the server that's been round removed don't want to wait around.

Also, we're on Discord?!?!?

https://discord.gg/ss14

I thought it was a clear joke because clearly we're on GitHub, not Discord...


Redis backend connecting to localhost instead of provided host

I've been using requests cache for awhile and have been loving it.  Big thanks to the authors!
I've got a weird issue that may be a bug.
Running this code:
redis_host='<IP_ADDRESS>'
redis_port='6379'
redis_client = redis.StrictRedis(host=redis_host, port=redis_port)
backend = RedisCache(host=redis_host, port=redis_port)
cached_requests = CachedSession('http_cache', backend=backend, expire_after=24*60*60)

gives the traceback below.  It seems to be trying to connect to localhost instead of the provided redis host.
I'm on:

Python 3.7
requests-cache==0.9.3
redis==4.2.2
Also running Google App Engine in case it matters.  Redis is otherwise working properly there.

Any idea why CachedSession is using localhost instead of the provided host?

Traceback (most recent call last):
File "/.../python3.7/site-packages/redis/connection.py", line 615, in connect
lambda: self._connect(), lambda error: self.disconnect(error)
File "/.../python3.7/site-packages/redis/retry.py", line 45, in call_with_retry
return do()
File "/.../python3.7/site-packages/redis/connection.py", line 615, in
lambda: self._connect(), lambda error: self.disconnect(error)
File "/.../python3.7/site-packages/redis/connection.py", line 680, in _connect
raise err
File "/.../python3.7/site-packages/redis/connection.py", line 668, in _connect
sock.connect(socket_address)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/.../python3.7/site-packages/requests_cache/session.py", line 60, in init
self.cache = init_backend(cache_name, backend, **kwargs)
File "/.../python3.7/site-packages/requests_cache/backends/init.py", line 76, in init_backend
logger.debug(f'Initializing backend: {backend} {cache_name}')
File "/.../python3.7/site-packages/requests_cache/backends/base.py", line 235, in str
return f'Total rows: {len(self.responses)} responses, {len(self.redirects)} redirects'
File "/.../python3.7/site-packages/requests_cache/backends/redis.py", line 108, in len
return len(list(self.keys()))
File "/.../python3.7/site-packages/requests_cache/backends/redis.py", line 121, in keys
for key in self.connection.keys(f'{self.namespace}:*')
File "/.../python3.7/site-packages/redis/commands/core.py", line 1745, in keys
return self.execute_command("KEYS", pattern, **kwargs)
File "/.../python3.7/site-packages/redis/client.py", line 1215, in execute_command
conn = self.connection or pool.get_connection(command_name, **options)
File "/.../python3.7/site-packages/redis/connection.py", line 1386, in get_connection
connection.connect()
File "/.../python3.7/site-packages/redis/connection.py", line 620, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused.

After digging into the code, this is a documentation bug.  This is the fix:
backend = RedisCache(connection=redis_client)
The docs here use the older interface.

@pb-jeff-oneill Your original example is intended to work, but appears to have recently broken.
RedisCache will use inspection to determine valid keyword args that can be passed along to Redis. Strangely, that doesn't work in redis-py 4.2 and python <=3.8, as the signature of Redis.__init__() no longer lists its keyword args. I did add a version restriction in pyproject.toml, but that hasn't been released.
The best option, as you found, is to pass a Redis object.

I think I will keep this open as a bug for now, since this is likely to be confusing to other users.

This is actually a fairly interesting one.
Short version
Just need to inspect the Redis.__init__ method instead of the Redis class.
Long version
The behavior of inspect.signature for classes isn't well documented, but in most cases it will get the signature of the class's init method. This is an odd case where that doesn't happen. Specifically on redis-py 4.2 and python 3.7 and 3.8, it looks like it will get the signature of __new__ instead, even though one isn't explicitly defined on the Redis class or its parents.
So it appears that:

The behavior of inspect.signature for classes was improved in python 3.9:

https://github.com/python/cpython/issues/85074
https://github.com/python/cpython/pull/27209

The inheritance order of redis.client.Redis changed in redis-py 4.2 (now inherits from an abstract class), although I still don't see how that affects its signature.
This also seems to be the case with pymongo.mongo_client.MongoClient in pymongo 4.1.

Examples
redis-py 4.2.0 on python 3.8:
from inspect import signature

signature(Redis.__new__).parameters
mappingproxy({'cls': <Parameter "cls">, 'args': <Parameter "*args">, 'kwds': <Parameter "**kwds">})

signature(Redis).parameters
mappingproxy({'args': <Parameter "*args">, 'kwds': <Parameter "**kwds">})

redis-py 4.1.4 with any python version, OR python 3.9 with any redis-py version:
from inspect import signature

signature(Redis.__new__).parameters
mappingproxy({'args': <Parameter "*args">, 'kwargs': <Parameter "**kwargs">})

signature(Redis).parameters
mappingproxy({
    'host': <Parameter "host='localhost'">,
    'port': <Parameter "port=6379">,
    'db': <Parameter "db=0">,
    'password': <Parameter "password=None">,
    'socket_timeout': <Parameter "socket_timeout=None">,
    'socket_connect_timeout': <Parameter "socket_connect_timeout=None">,
    'socket_keepalive': <Parameter "socket_keepalive=None">,
    'socket_keepalive_options': <Parameter "socket_keepalive_options=None">,
    'connection_pool': <Parameter "connection_pool=None">,
    'unix_socket_path': <Parameter "unix_socket_path=None">,
    'encoding': <Parameter "encoding='utf-8'">,
    'encoding_errors': <Parameter "encoding_errors='strict'">,
    'charset': <Parameter "charset=None">,
    'errors': <Parameter "errors=None">,
    'decode_responses': <Parameter "decode_responses=False">,
    'retry_on_timeout': <Parameter "retry_on_timeout=False">,
    'retry_on_error': <Parameter "retry_on_error=[]">,
    'ssl': <Parameter "ssl=False">,
    'ssl_keyfile': <Parameter "ssl_keyfile=None">,
    'ssl_certfile': <Parameter "ssl_certfile=None">,
    'ssl_cert_reqs': <Parameter "ssl_cert_reqs='required'">,
    'ssl_ca_certs': <Parameter "ssl_ca_certs=None">,
    'ssl_ca_path': <Parameter "ssl_ca_path=None">,
    'ssl_ca_data': <Parameter "ssl_ca_data=None">,
    'ssl_check_hostname': <Parameter "ssl_check_hostname=False">,
    'ssl_password': <Parameter "ssl_password=None">,
    'ssl_validate_ocsp': <Parameter "ssl_validate_ocsp=False">,
    'ssl_validate_ocsp_stapled': <Parameter "ssl_validate_ocsp_stapled=False">,
    'ssl_ocsp_context': <Parameter "ssl_ocsp_context=None">,
    'ssl_ocsp_expected_cert': <Parameter "ssl_ocsp_expected_cert=None">,
    'max_connections': <Parameter "max_connections=None">,
    'single_connection_client': <Parameter "single_connection_client=False">,
    'health_check_interval': <Parameter "health_check_interval=0">,
    'client_name': <Parameter "client_name=None">,
    'username': <Parameter "username=None">,
    'retry': <Parameter "retry=None">,
    'redis_connect_func': <Parameter "redis_connect_func=None">
})

This has now been fixed in v0.9.4.


fix: removed window.pageXOffset and window.pageYOffset from TableActionMenu position calculation

Apologies for the YOLO PR, however, based on a recent discord discussion here  https://discord.com/channels/953974421008293909/953974421486436393/1219603905198161920 - it appears we are not the only ones having a problem with the TableActionMenu plugin dropdown position when there are multiple editors on the page, or when the editor position requires scrolling down (i.e. the editor appears lower down on the page or 'below the fold'). In these cases, the dropdown menu does not appear over the cell that requested it (it may not even appear in the browser viewport).
This PR contains the fix we applied (and re-apply if we ever take an update from the Playground).
It works for us without any problem on all editor instances, irrespective of how many editors there are or whether you have to 'scroll down' to use the editor. See the screenshot below.
However, I have NOT tested this in the Playground demo site yet, and there may be an 'adjustment' like 'position: relative' required in the editor container there (honestly not sure).
See the comments in the commit as well.
Hope at least that this is of some help.

I've just seen this... https://github.com/facebook/lexical/pull/5614 - although it refers to the same issue, I'm not clear on whether that commit was meant to resolve it or was reverted.

hi, not a reviewer, but just wanted to give my thoughts since I'm running into this issue also. I think previously the menu "dropdown" css class used position: absolute instead of position: fixed: https://github.com/facebook/lexical/pull/2297
And TableActionMenu was written with position: absolute in mind: https://github.com/facebook/lexical/pull/957
hence the usage of window.pageXOffset and window.pageYOffset. Your solution works well for fixed position, but in my use case I need table menu to be absolutely positioned, and this is where removing window.pageYOffset doesn't work anymore (if you scroll down and create a table, the menu positions will all be completely off).

Closing this PR due to staleness! If there are new updates, please reopen the PR.


Switching to cimplog instead of printf

Codecov Report

Merging #29 into master will decrease coverage by 0.17%.
The diff coverage is 72.72%.

@@            Coverage Diff            @@
##           master     #29      +/-   ##
=========================================
- Coverage   73.37%   73.2%   -0.18%
=========================================
  Files           2       2
  Lines         154     153       -1
  Branches       21      21
=========================================
- Hits          113     112       -1
  Misses         25      25
  Partials       16      16

Impacted Files
Coverage Δ

libseshat/src/libseshat.c
69.36% <72.72%> (-0.28%)
:arrow_down:

Continue to review full report at Codecov.

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


wip for scheduled cork command

Closes #97

There may be a few other commands we need than set_shutdown. We'll need to nail down what they are.

There may be a few other commands we need than set_shutdown. We'll need to nail down what they are.

Yes. I'm thinking the "pause" command too. @EricBolten wanted us to start with shutdown first


Fixed The Bingo Card & Added "To Top" Button

Related Issue
Closes #432

Description

Successfully fixed the Bingo Card Game that appeared on the top and fixed the projects appearing properly in the project section!

Added a "To Top" button to the bottom right that appears when the user scrolls to a certain part of the website and clicking it takes the user back to top.

Screenshots
Fixed Top of Webpage:

Scroll To Top:

Checklist

[X] My code adheres to the established style guidelines of the project.
[X] I have included comments in areas that may be difficult to understand.
[X] My changes have not introduced any new warnings.
[X] I have conducted a self-review of my code.

@Dharmesh177  take a look sir! Its fixed 😄

Scroll up button not working

but sir look its working in phone as well
@https://github.com/ssitvit/Code-Canvas/assets/83227649/fabfdf3a-f9f8-42ef-ad37-d98b15c93952

i looked in desktop again and its working 😅

maybe now try? i reduced the pixels it takes to show the button

@Dharmesh177  sir could u check it again?

@Shreyaar12  maam can you take a look at the PR and review it please?


TextField setSelection  Incorrect selection of cursor in Chinese content

TextField setSelection  Incorrect selection of cursor in Chinese content。
var test:TextField= new TextField()；
test.type=TextFieldType.INPUT;
test.text = "你好世界！"
test.setSelection(3,3)

I think this is the same as #1805. I believe I know what the issue is, but I’m working on other things atm.

@MSGhero  Yes, it's really about Unicode

This is fixed on dev.