text:
[improvement] DB refactoring #1

Describe the feature
Some tables have "createdAt" and "updatedAt" fields, and some tables do not.

Add these fields to all tables
Fill in the values for these fields to transfer to the function that the trigger will call.

Function:
CREATE OR REPLACE FUNCTION trigger_set_timestamp()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Trigger (example):
CREATE TRIGGER value_upd_trigger
BEFORE UPDATE ON updatedAt
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
The logic for working with such fields must be transferred to the database side, since incorrect data may be transferred from the application (including from the API).
Additional Context
No response

I've added them to a more models where I think it's necessary. Let me know if there are more!

@Dev-CasperTheGhost what about trigger for create and update action?

@Dev-CasperTheGhost what about trigger for create and update action?

what exactly would this do?

The trigger will fire when a record is created and when a record is updated.
This is correct because the logic for updating these fields will be on the database side and the data will be generated automatically.
This solution will reduce the amount of data that will need to be prepared on the FiveM side and transferred through the API.
Also, this solution will allow you to avoid mistakes when preparing data by a third-party system (fivem script).
I, as a developer, do not need to prepare dates, bring them into the required format + I will not be able to transfer incorrect data
I will show you on the example of creating a tow call.
Creation method (towCallCreate):
[
    userId: ckvhsf6c0002273przwwdcyul,
    location: 7212 Los Santos,
    description: --,
]

Receiving method (towCallGet):
[
    userId: ckvhsf6c0002273przwwdcyul,
    location: 7212 Los Santos,
    description: --,
    ...
    createdAt: 2021-11-02 08:42:12.172,
    updatedAt: 2021-11-02 14:12:21.12,
]

So after all, the procedure and the trigger are not created...
Here is an example of procedures and trigger for the towCall table
CREATE TRIGGER "tow_create_tr" BEFORE INSERT ON "public"."TowCall"
FOR EACH ROW
EXECUTE PROCEDURE "public"."set_createdAt_timestamp"();

CREATE TRIGGER "tow_updade_tr" BEFORE UPDATE ON "public"."TowCall"
FOR EACH ROW
EXECUTE PROCEDURE "public"."set_updatedAt_timestamp"();

CREATE OR REPLACE FUNCTION "public"."set_updatedAt_timestamp"()
  RETURNS "pg_catalog"."trigger" AS $BODY$BEGIN
	BEGIN
	NEW."updatedAt" = NOW();
	RETURN NEW;
	END;

END$BODY$
  LANGUAGE plpgsql

CREATE OR REPLACE FUNCTION "public"."set_createdAt_timestamp"()
  RETURNS "pg_catalog"."trigger" AS $BODY$BEGIN
	BEGIN
	NEW."createdAt" = NOW();
	RETURN NEW;
	END;

END$BODY$
  LANGUAGE plpgsql

And you need to remove the NOT NULL parameter for the "createdAt" and "updatedAt" fields


text:
Explicitly disable formatOnSave in vscode

It seems that formatOnSave tries to obey the prettier line width of 110, which wraps a whole bunch of lines that haven't been wrapped in the past and violate other prettier rules about code layout, this seems to fix it.

Superceded by #135

source: gharchive/pull-request

authors: Snazzah blackmad

repo: Snazzah/duck-duck-scrape

license: MIT

license_type: permissive

license_source: github-api


text:
Get a client from the command

This is a question.
I started using the library relatively recently, and I have a question. How can I get the Discord client from the command without using require? For example, output the client's websocket ping in the ping command. I looked through all the documentation, but didn't find anything related to this.

slash-create doesn't have anything that allows clients to hook into contexts or commands, since this is also meant for webservers. Your best bet is to actually require the client.

source: gharchive/issue

authors: Lokilife Snazzah

repo: Snazzah/slash-create


text:
Package.loadSettings is deprecated.

Store package settings files in the settings/ directory instead of scoped-properties/
Package.loadSettings (/Applications/Atom.app/Contents/Resources/app/src/package.js:565:9)
<unknown> (/Applications/Atom.app/Contents/Resources/app/src/package.js:187:43)

Whoops, dupe of #19

repo: Sneagan/atom-handlebars

license: mit

license_source: bigquery


text:
Overlay sometimes "freeze" when tabbing in and out of target focus

Yo,
love your package so far,
only little issue I notices is that it sometimes doesnt refocus/resize correctly or freeze when I tab out of the game im overlaying my stuff on and tab back in like 2 secs later.
A workaround to "unfreeze" it again is:
I simply need to repeat tabbing out and back into my target a few times and eventually its not frozen again.
Maybe u could look into this?
I can just guess, but looks like maybe some check is missing if ur target is focussed again? 😅

Your OS?

Windows 11 Version 21H2 (Build 22000.613)

UPDATE:
If I explicitly click on the taskbar icon to tab/switch back to the game Overlay doesnt freeze. Maybe that helps finding the issue.

authors: SnosMe slauko

repo: SnosMe/electron-overlay-window


text:
[Bug]: Cannot configure PUBLIC schema of new database

Terraform CLI Version
1.7.4
Terraform Provider Version
0.88.0
Terraform Configuration
resource "snowflake_database" "my_database" {
  name = "my_database"
}

resource "snowflake_schema" "my_database_public" {
  database = snowflake_database.my_database.name
  name     = "PUBLIC"

  is_managed          = true
  data_retention_days = 30
}

Category
category:resource
Object type(s)
No response
Expected Behavior
When applying these resources for the first time, the database is created by the snowflake_database resource. Then the PUBLIC schema for that database is created by the  snowflake_schema resource.
Actual Behavior
The database is created by the snowflake_database resource. The snowflake_schema resource then fails to apply when it runs CREATE SCHEMA PUBLIC, which fails because the schema already exists, since in Snowflake a CREATE DATABASE automatically creates a PUBLIC schema with default properties.
Steps to Reproduce

terraform apply the example configuration when the resources don't already exist in the TF state or in Snowflake.

How much impact is this issue causing?
Medium
Logs
No response
Additional Information
This reopens #306 with some additional thinking.
This has been a thorn in our side when creating new databases, as we either want to have an explicit snowflake_schema block for the PUBLIC schema, or in some cases don't want a PUBLIC schema for a specific database.
Proposed solution: After considerable thinking on this issue, I've come to believe there's only one workable solution: add a boolean option to the snowflake_database resource which, if enabled, causes it to execute DROP SCHEMA PUBLIC if it executes a CREATE DATABASE.
Alternatives considered and dismissed:

Apply once, manually drop the PUBLIC schema when the snowflake_schema resource fails, then apply again.

This is our current workaround, but the manual step prevents deployment of Snowflake terraform through a CI pipeline.

Allow configuration of the PUBLIC schema in the snowflake_database resource.

This doesn't address the case when you don't want a PUBLIC schema.
Would mean that different schemas would be configured different ways, which is undesireable.

Use import blocks to automatically import the PUBLIC schema.

This doesn't address the case when you don't want a PUBLIC schema.
The import would have to be executed after the snowflake_database resource is created, and it's not clear that Terraform allows specifying this kind of dependency.
The automatically-created schema is never a managed-access schema, but we always use managed-access schemas. So even if imported, the terraform_schema resource will attempt to run ALTER SCHEMA PUBLIC ENABLE MANAGED ACCESS, which fails unless you have the MANAGE GRANTS privilege. A solution should require nothing but the CREATE DATABASE privilege, as MANAGE GRANTS is the most powerful privilege (you can use it to grant yourself ACCOUNTADMIN), so we don't have that privilege when applying most terraform modules.

Improve the CREATE DATABASE statement to allow a WITHOUT PUBLIC SCHEMA option.

This would require additions to the Snowflake SQL language itself, so it's not purely achievable by only changing the terraform provider.
Mentioning this option since I get the impression Snowflake is looking at more declarative-friendly language features, like CREATE OR ALTER. And a WITHOUT PUBLIC SCHEMA option would be a little cleaner than having to run DROP SCHEMA PUBLIC.

It could be argued that the proposed "drop-public" behavior of the snowflake_database resource is the logical default behavior. Or the only possible behavior – i.e. always require a separate snowflake_schema resource for PUBLIC. But this way it wouldn't be backwards-compatible, which is why I suggested making this behavior opt-in. That said, the provider is currently making many other breaking changes with the goal of cleaning it up before a v1 release, so perhaps you might like to make this behavior the default/only behavior after all.
Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

Hey @wesleyhillyext. Thanks for reaching out to us.
We have planned to discuss this issue with the schema resource rework as part of https://github.com/Snowflake-Labs/terraform-provider-snowflake/blob/main/ROADMAP.md#preparing-essential-ga-objects-for-the-provider-v1.
A few comments from my side:

For the first dismissed alternative you could utilize https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/unsafe_execute to avoid manual changes (not ideal but should work).
In the third dismissed alternative you say that you always use managed-access schemas. So maybe you should not use the PUBLIC schema at all? The Snowflake creates this schema for a reason, if there is no option (like alternative number 4) on the SQL level, I don't think we should diverge from it in the provider. Afterall, you have options to adjust the schema (e.g. unsafe execute resource running arbitrary SQL statements)
The fourth option is a valid solution, please reach out to your account manager to discuss it.
Your solution is one of the options we will consider. The other one not mentioned is using CREATE OR REPLACE syntax in the snowflake_schema resource for PUBLIC schema only (we have not yet tested or researched if this is a good one, but it would certainly allow introducing modifications to the automatically created one). Also, we may consider using a separate resource just to handle PUBLIC schema (i.e. snowflake_public_schema).

I just want to point out, that there is also the possibility that we will decide not to handle the PUBLIC schema differently inside the provider at all (leaving workarounds like unsafe execute valid options). With the motivation written above: this behavior is just aligned with Snowflake.

Thanks for your reply @sfc-gh-asawicki, good to know this was on your radar. I've been thinking about some of your comments and just had a question on one:

So maybe you should not use the PUBLIC schema at all? The Snowflake creates this schema for a reason,

From my understanding, using the PUBLIC schema is helpful because it's the default schema when someone runs USE DATABASE, and is automatically on the search path without having to educate our users about search paths.
Whereas managed-access schemas seem more about centralized vs decentralized access management (centralized is the approach we use).
So I didn't understand why our use of managed-access schemas might clash with the point of the PUBLIC schema – is there some other purpose implied for the PUBLIC schema?

Your solution is one of the options we will consider.

I think any of my proposed solution, a CREATE OR REPLACE approach, or a separate snowflake_public_schema could be made to work for us.
The documentation says that snowflake_unsafe_execute is deprecated and will be removed; I think I'd also be pretty reluctant to use it. So I hope you decide to provide some other solution.

So I didn't understand why our use of managed-access schemas might clash with the point of the PUBLIC schema – is there some other purpose implied for the PUBLIC schema?

My only point here was, that currently managing PUBLIC schema through our provider is harder than managing the manually-created schemas (as an alternative solution but I don't know your use case, so this was just a loose idea).

The documentation says that snowflake_unsafe_execute is deprecated and will be removed; I think I'd also be pretty reluctant to use it. So I hope you decide to provide some other solution.

Yeah, even the name scares potential users away, because this was the initial plan. However, we have decided to stick with this resource even after V1, maybe with a bit "safer" implementation. Docs were not adjusted because the resource is still dangerous if used incorrectly but you can see this resource on the list linked here: https://github.com/Snowflake-Labs/terraform-provider-snowflake/blob/main/ROADMAP.md#preparing-essential-ga-objects-for-the-provider-v1.

Hi @wesleyhillyext 👋 PUBLIC schemas can be managed in v0.94. Now, when the name is PUBLIC, it's created with OR REPLACE and can be managed as a regular schema. Creating databases without PUBLIC schemas is not supported - with the motivation written above: this behavior is just aligned with Snowflake.

Thanks for the update @sfc-gh-jmichalak @sfc-gh-asawicki.
That will resolve the main operational issue with declaring the PUBLIC schema, though I wonder if you considered the non-obvious risk this approach introduces.
Normally, creating resources in terraform is always a non-destructive operation. But CREATE OR REPLACE SCHEMA can be a destructive operation, and it can destroy your entire existing schema! All it would take is for someone to move the snowflake_schema resource for their PUBLIC schema in their terraform code, and forget to do the corresponding terraform state mv. Or accidentally perform the wrong terraform state rm. The terraform plan will then look like it creates, not replaces, the PUBLIC schema, and I think even a lifecycle { prevent_destroy = true } on the schema resource won't save the day. As far as risks go, it would be low-probability, but high-impact.
Safety is one of the reasons I ended up proposing the solution I originally proposed.

Creating databases without PUBLIC schemas is not supported - with the motivation written above: this behavior is just aligned with Snowflake.

I didn't really dive into this philosophy earlier on, but I may as well add my two cents now: SQL is not Terraform. SQL DDL is an imperative language, whereas terraform is a declarative language; it seems entirely natural to me that there would be some "impedance mismatch" between the declarative and imperative paradigms, such that what makes sense as one declarative resource doesn't always align 1-1 with a single imperative SQL statement. Such alignment might be a fine consideration when all else is equal, but I would caution against this becoming an overriding consideration.

Hey @wesleyhillyext. Thanks for your thoughts.
TBH for me it's not a big difference if we add a boolean option to the snowflake_database resource which, if enabled, causes it to execute DROP SCHEMA PUBLIC or if we run OR REPLACE:

they both happen during the create
they are both a bit hidden
they are both actions of the user.

Fortunately:

even if the schema is removed accidentally, there is still a time travel feature https://docs.snowflake.com/en/sql-reference/sql/create-schema#usage-notes.
there is still the possibility to import the schema instead of creating it.

However, your concerns are valid. Ultimately, create or alter schema (like the one that is already in preview for tables: https://docs.snowflake.com/en/sql-reference/sql/create-table#create-or-alter-table) would be a better solution.

Hi @wesleyhillyext 👋 This has been fixed in v0.94.1 release. Now, we use ALTER for managing PUBLIC schemas that exist instead of OR REPLACE.

Thanks for the update @sfc-gh-jmichalak. Unfortunately, that approach breaks in our case.
Using ALTER is mostly equivalent to alternative #3 from my original post. And it doesn't work for us for the same reason. You can't ALTER SCHEMA PUBLIC ENABLE MANAGED ACCESS on a schema without using the SECURITYADMIN or ACCOUNTADMIN roles, and we don't use those roles to apply most of our terraform. We use a role hierarchy to enforce environment isolation as a best practice, so we're applying with our own environment-admin roles like DEV_ADMIN, PROD_ADMIN etc.
I originally proposed the "drop public schema immediately after a create" solution after pretty careful consideration of all these kinds of alternatives, and I still think it's the only approach which doesn't introduce any of its own problems.

Hey @wesleyhillyext.
We want to avoid dropping the PUBLIC schema programmatically (mainly because of the reasons discussed above), so we explored the non-dropping solutions. Ultimately, we will replace it with CREATE OR ALTER, so all the limitations will be the same as for CREATE OR ALTER.
The role requirement is a Snowflake limitation, not the provider's. We try to align every resource with the Snowflake role requirements. You can report it to Snowflake support (but I guess you have already done so).
I think it is still possible to handle your case in the provider:

database resource creating db (and public schema)
unsafe execute resource, depending on the above db resource, to drop the PUBLIC schema
schema resource depending on the unsafe execute, creating the public schema again

Will it work for you?

We want to avoid dropping the PUBLIC schema programmatically (mainly because of the reasons discussed above)

If the database resource just successfully executed a CREATE DATABASE, then it knows the PUBLIC schema must be empty and is safe to drop. This is actually the only situation when the provider can know for sure that it is safe to drop/replace the schema, and is why I proposed handling this in the database resource, not the schema resource.

unsafe execute resource, depending on the above db resource, to drop the PUBLIC schema

This is effectively equivalent to the OR REPLACE solution you had in v0.94. This would work, but we'd have to be very careful to ensure the terraform state will always be present to prevent the schema being dropped when we didn't intend it to be!

The role requirement is a Snowflake limitation, not the provider's.

Sorry, I'm not quite sure what you were trying to get at here. It is already possible to achieve the desired resource state in Snowflake without using the ACCOUNTADMIN role:
USE ROLE PROD_ADMIN;
CREATE DATABASE PROD_DB;
DROP SCHEMA PUBLIC;
CREATE SCHEMA PUBLIC WITH MANAGED ACCESS;

Personally, I think the goal of being able to apply terraform with roles other than ACCOUNTADMIN is much more important to keep in sight that the principle of one-to-one correspondence such that one terraform resource == one SQL statement.

TL;DR
We will add drop_public_schema_on_creation flag to the database resource in one of the upcoming versions.
My answers below (not to leave the questions unanswered).

This is effectively equivalent to the OR REPLACE solution you had in v0.94. This would work, but we'd have to be very careful to ensure the terraform state will always be present to prevent the schema being dropped when we didn't intend it to be!

The result is the same, but it differs in an important detail: it's not hidden from the provider's user like the OR REPLACE was.

Sorry, I'm not quite sure what you were trying to get at here.

This:

So even if imported, the terraform_schema resource will attempt to run ALTER SCHEMA PUBLIC ENABLE MANAGED ACCESS, which fails unless you have the MANAGE GRANTS privilege. A solution should require nothing but the CREATE DATABASE privilege, as MANAGE GRANTS is the most powerful privilege (you can use it to grant yourself ACCOUNTADMIN), so we don't have that privilege when applying most terraform modules.

Personally, I think the goal of being able to apply terraform with roles other than ACCOUNTADMIN is much more important to keep in sight that the principle of one-to-one correspondence such that one terraform resource == one SQL statement.

We do not have a principle of one terraform resource == one SQL statement. We do have a principle of following Snowflake requirements for the role used to manage the given resource. Our experience with the provider users shows that it's best to follow strictly how the objects are created on the Snowflake side without too much additional magic. And that's exactly what we are trying to do here: keep the provider simple but leave the way for more complex setups for advanced users.

USE ROLE PROD_ADMIN;
CREATE DATABASE PROD_DB;
DROP SCHEMA PUBLIC;
CREATE SCHEMA PUBLIC WITH MANAGED ACCESS;

And this is exactly what I proposed:

database resource creating db (and public schema)
unsafe execute resource, depending on the above db resource, to drop the PUBLIC schema
schema resource depending on the unsafe execute, creating the public schema again

Thanks; that drop_public_schema_on_creation flag will do the job nicely. I will certainly be keeping an eye on the release notes to see when we can adopt this.

Hey @wesleyhillyext. We released v0.95 yesterday containing drop_public_schema_on_creation attribute. Please check and let us know if this works for you.

Thanks very much for implementing that! The docs and commit look good to me.
We're currently on version 0.88, and we're going to have to schedule a project to get through the many changes made to the provider to bring us up to 0.95. In the meantime, I think you can close this issue.


text:
Be-S05-T14: Adequar todo o código às exceptions customizadas

Depende de #70

Foi feito no PR #70

repo: SoLanches/API-SoLanches


text:
Make Global Feed Tab Primary (show first)

Please make on the Feed Screen the Global feed primary (show first) instead of the Friends Feed.

Fixed. Reviewed by @Alex and @Shadyzpop.

Fixed. Reviewed by @alexsirbu04 and @Shadyzpop


text:
Hide Client's "... Established" Status popup window

It would be essential to:
hide that annoying popup window showing every time the client gets connected.
It disturbs the work on the POS systems, if they have a laggy net connection.

Already

checked the manual
looked at vpn_client.config
tried to disable the tray icon

but found no solution how to disable it.
IMHO an installed and configured client should silently run as a service with no interaction, only that tiny tray-icon should be a reminder of it.
(Just like an OpenVPN client service without GUI.)
Operating system: [Windows]
Architecture: [64 bit, 32 bit]
Affected versions: 5.02 (4.x would be nice too)
There should be an option:

[ ] in the vpn_client.config file:

	declare ClientManagerSetting
	{
		bool AllowPopupWindow true ## << could be turned OFF
		bool EasyMode false
		bool LockMode false
	}

[ ] at the [View ]menu: a new "Allow popup notifications" checkable submenu item

Need a Win32 + Win64 build of v5.03 client, including above options in 48 hours (until 2023-02-28) please!

at least the "config" file method
server is not needed, only the client

Have to install it to 200+ PCs.
Is there anybody who can help me please to create these 2 builds of the client EXE installers from the current developer version +v0.01?

that completely makes sense. also, we are glad to hear SE VPN is used for POS devices.
do you want to make a PR yourself ?
as for the most recent installers (without above mentioned feature yet), it can be found at

I'm on the move, not sure I'll enough time to code next week.
but we'll be glad to accept a PR of course

Thank you for the response!

we'll be glad to accept a PR of course

Sadly I'm not good at C++ at all. In fact I don't like it, since I'm a Pascal fan. (Max some C# or JS )
Also it would take too much time to set up the whole dev. environment for this 5 minute job.

I'm on the move, not sure I'll enough time to code next week.
That's a problem.
Is there nobody else capable of this 5-10 minutes of Copy-paste job + 2x If insert

bool SilentMode true

Do you think a direct, one time donation would speed up this task?
(Usually I don't like to pay forward, bad experience many times ...)
I always like to keep my promise.
... or even a direct payment to somebody's paypal account. If that's allowed?

I do not think we are short on money.
@Evengard , do you mind to help ?

That's weird. The feature already exists!
In the settings of the exact connection, there's that checkbox on the bottom:

Also, in the vpn_client.config there are theese settings:

Is it about something else?

@Evengard
You are RIGHT ! Great :-) I'm very happy...
But I've just tested with v4.38 client, and it's not working. Still popping up that window. :-1:
I will test with 5.01 now...
... or are there any newer clients for Win32 + Win64 + Mac ?

current master installer is available at "Nightly build" --> Artifacts

@PizzaProgram That definitely works on 5.02 version (as I'm actually using it with the said settings).

@Evengard
You are right, I've just tested it, and it's working perfectly fine 💯
Sorry to everybody I've missed those checkboxes at the bottom and robbed your time!
I guess I will start renting a now Windows VPS after all, because I have little time to finish this, and maybe move to linux later.
Also I'll give a try to this nightly build as server too.
So I'll be you guinea-pig to test the 5.02 with ca. 200 clients and 100 groups.

your experience may be useful for others, please come back with questions and documentation improvements (if any). as for windows vs linux it is up to you.

@Evengard
I was happy too soon. :-(
Version: still 5.02.5327, Win7 32bit
Problem:
That big work-disturbing "Reconnecting ... " window is popping up until somebody finds the little "Hide this window ... " checkbox on the bottom of that panel and can click it within 15 sec time interval.

that somebody must understand English to do that, because there is no icon
I can not do it for my clients, since I can only log in to the PC, when it's currently disconnected.
It shows even if manager is NOT running, system tray is disabled, lock password and Set passwords are both active.

@PizzaProgram
Check my screenshots from https://github.com/SoftEtherVPN/SoftEtherVPN/issues/1776#issuecomment-1446490191
The said settings are present in both vpn_client.config AND in the detailed configuration options of the connection.

Exactly that's what I'm trying to tell:

Those checkboxes are BOTH checked !

They should be checked for every configured connection. Could it be that they are configured for one connection, while the users are using another one?

Each client is using only ONE connection.

Do you have the vpn_client.config files BEFORE and AFTER the described action (checking the checkbox in the actual window etc) was done?
You can remove any private data before posting them in public.

I have installed 2 new client PCs today, and experienced this behaviour both times.
I'll be able to export those .config files the next time I'm installing a new client.
(Maybe tomorrow ... now it's 00:54 AM )

We'll wait for the files, hard to debug without them.

Just to be clear:

I'm NOT talking about the "Established" window any more! That problem was solved with those 2 checkboxes.
But the "reconnecting window" (almost full screen big)

A screenshot would be appreciated too.

I reviewed quickly the code, it all seems to be behind the "Hide status and error screens". So seems to be fine.

@PizzaProgram , I wonder why it reconnects very often. I did not observe that for myself. Is that network instability or maybe you hit some bug ?
can you please share server and client logs ?

authors: Evengard PizzaProgram chipitsine shipitsin-ilia

repo: SoftEtherVPN/SoftEtherVPN


text:
Add missing headers required for solaris/illumos

A recent refactor removed a number of headers required on solaris/illumos systems. This patch adds those headers back.
See https://gitlab.com/SoftEther/SoftEtherVPN/-/jobs/1818748494 for details of (one of) the missing definitions.

Could you squash the commits, please?

Thanks!


text:
Add optional CRD ServiceMonitor for TMC

Some Customer's K8S cluster environments require a CRD ServiceMonitor to scrap metrics by Prometheus operator. Prometheus annotations will not work. You can use (copy/past) the ServiceMonitor from MSR chart.

@mobasherul : can you please check ?

@mobasherul : can you please check ?

@mathieucarbou Should i add this service monitor to terracotta helm charts?

@mobasherul : can you please check ?

@mathieucarbou Should i add this service monitor to terracotta helm charts?

I'm on vacation for 1 week... I don't know: maybe discuss with the team ? If we can add it and still be backward compatible then I would say yes.

authors: mathieucarbou mobasherul thomas-2020

repo: SoftwareAG/webmethods-helm-charts


text:
Foreign keys are not displayed when using TypeORM

Describe the bug
Foreign key is stored but not displayed in adminbro.
Installed libraries and their versions
admin-bro@4.0.1
@admin-bro/express@3.1.0
@admin-bro/typeorm@1.4.0
@pg: 8.5.1
To Reproduce:
User.ts
import {
    Entity,
    Column,
    PrimaryGeneratedColumn,
    OneToMany,
    BaseEntity,
} from 'typeorm';
import { Tag } from 'entity/Tag';

@Entity()
export class User extends BaseEntity {
    @PrimaryGeneratedColumn()
    id!: number;

    @Column({ unique: true })
    email!: string;

    @Column()
    password!: string;

    @OneToMany(() => Tag, (tag) => tag.uid, {
        cascade: true,
    })
    tag?: Tag[];
}

Tag.ts
import { User } from 'entity/User';
import {
    Entity,
    Column,
    PrimaryGeneratedColumn,
    ManyToOne,
    BaseEntity,
} from 'typeorm';

@Entity()
export class Tag extends BaseEntity {
    @PrimaryGeneratedColumn()
    id!: string;

    @Column()
    key!: string;

    @Column()
    value!: string;

    @Column({ nullable: true })
    type!: string;

    @ManyToOne(() => User, (user) => user.tag)
    uid!: User;
}

Expected behavior
The foreign key should show up.
Screenshots

AdminJSOptions with schema
Desktop:

OS: MacOS 11.2.3
Browser: chrome
Version: 91.0.4472.106 (

Additional context
TypeORM config
module.exports = {
type: 'postgres',
host: process.env.DB_HOST,
port: process.env.DB_PORT,
username: process.env.POSTGRES_USER,
password: process.env.POSTGRES_PASSWORD,
database: process.env.POSTGRES_DB,
synchronize: true,
entities: ['src/entity//*.ts'],
migrations: ['src/migration//.ts'],
subscribers: ['src/subscriber/**/.ts'],
// logging: false,
logging: 'all',
};
Code for adding a record to the database
async createUsers(params: CreateUserBody) {
        const user = new User();
        user.email = params.email;
        user.password = params.password;

        const platformTag = TagBuilder('platform', params.platform, 'string');
        const isActiveTag = TagBuilder('isActive', 'false', 'boolean');

        user.tag = [platformTag, isActiveTag];

        const userRepository = getRepository(User);

        return userRepository.save(user);
    }

function TagBuilder(key: string, value: string, type: string) {
    const tag = new Tag();
    tag.key = key;
    tag.value = value;
    tag.type = type;

    return tag;
}

Init adminbro (app.ts)
import 'reflect-metadata';
import express from 'express';
import cors from 'cors';
import { createConnection } from 'typeorm';
import { config } from 'constants/config';
import compression from 'compression';
import { errorHandler } from 'middlewares/errorHanlder';
import { errorLogger, requestLogger } from 'middlewares/logger';
import { Database, Resource } from '@admin-bro/typeorm';
import AdminBro from 'admin-bro';
import AdminBroExpress from '@admin-bro/express';
import { validate } from 'class-validator';
import { userRouter } from 'routes/userRouter';
import { correctJsonCheck } from 'middlewares/correctJsonCheck';
import { notFoundHandler } from 'middlewares/notFoundHandler';

const app = express();
const router = express.Router();

Resource.validate = validate;

createConnection()
    .then((connection) => {
        AdminBro.registerAdapter({ Database, Resource });

        const adminBro = new AdminBro({
            databases: [connection],
            rootPath: '/admin',
        });
        const routerAdmin = AdminBroExpress.buildRouter(adminBro);

        app.use(compression({ level: 6 }));
        app.use(express.json());
        app.use(cors({ origin: new RegExp(config.CORS_ORIGIN) }));
        app.use(cors());

        app.use(correctJsonCheck);

        app.use(requestLogger);
        app.use(adminBro.options.rootPath, routerAdmin);
        ...
        ...
        ...

Either RelationId or JoinColumn decorators must be used for AdminJS to be able to retrieve correct metadata. It's also advised to use Column decorator with the actual foreign key. This is explained in typeorm adapter's readme.

@dziraf Happening to me too, column has @JoinColumn decorator

@dziraf Happening to me too, column has @joincolumn decorator

@dziraf I am facing the same issue - did you have the luck to fix it? Thank you in advance!

It is because you don't have productId with @Column decorator in your model. This is a working example:
@Entity('opinions')
export class Opinion extends BaseEntity implements OpinionData {
  @PrimaryColumn({ name: 'opinion_id', type: 'uuid' })
  public opinionId!: string;

  @Column({ name: 'author_id', type: 'uuid', nullable: false })
  public authorId!: string;

  @Column({ name: 'content', type: 'text', nullable: true })
  @IsString()
  @IsOptional()
  @MinLength(1)
  @MaxLength(280)
  public content!: string | null;

  @CreateDateColumn({ name: 'created_at', type: 'timestamptz' })
  public createdAt!: Date;

  @UpdateDateColumn({ name: 'updated_at', type: 'timestamptz' })
  public updatedAt!: Date | null;

  @ManyToOne((_type) => User)
  @JoinColumn({
    name: 'author_id',
  })
  public author!: User;
}

authors: dziraf pzubar riledv rluncasu

repo: SoftwareBrothers/adminjs


text:
Talk to TypeForm about getting free PRO so we can add share buttons to the pledges

https://admin.typeform.com/to/Y8P6re

Nope.


text:
Updating to 1G from 1F completely reset my settings file

I downloaded it manually and put it into UMM instead of using the new in-mod autoupdater, so that might be why.
Every single option got unticked, including all races, subclasses, spells, and feats.
I happened to have a backup, so I restored it and downgraded back to 1F.

Auto update doesn’t touch settings at all.

authors: Lesamuen ThyWoof

repo: SolastaMods/SolastaCommunityExpansion


text:
PATCHing over protected search returned 200

System should not allow a user to edit via PATCH to /core/saved_search/uuid/ for an entity with protected:true.

shown below: I was able to change the name to 'stack tracesz'

@joraldaz we use Django Rest Framework for the API.  When a user calls PUT, PATCH or DELETE on the /core/saved_search/{uuid}/API endpoint, they should get a HTTP 403 error back if theprotectedfield in the model isTrue`.
In goldstone/core/views.py there is a class called SavedSearchViewSet that handles all of this.  To address this ticket, you override the appropriate methods from ModelViewSet and do a check of the protected field before performing the requested action.

authors: jxstanford lexjacobs

repo: Solinea/goldstone-server


text:
Permanent Server id

Hello,
there is a question how to make the sever id permanent?

I'm not an expert on this one but I'm almost entirely positive that the server id is based on the jdbc connection string. SonarSource recommend you contact them if the JDBC connection string is going to change as they'll need to generate you a new license.
Keep your JDBC connection string the same and I believe you'll be good.

Hi @simonoff ,
the answer from @mikeycmccarthy is correct. the server id does not change as long as the jdbc url does not change, so you should be good to go. in general when you have questions like this, feel free to ask them in the community forum as there are more people that could help you :)

Ok, then I think we need to ask to set the password for postgres if its running from chart. And make that the postgres host name all the time the same and notice its in NOTE.txt .Or in docs.

repo: SonarSource/helm-chart-sonarqube


text:
SONARMSBRU-80: Remove timeout settings from the boostrapper as they a…

…re not used

As discussed offline, this change doesn't address the underlying issue that prompted the bug to be raised in the first place, namely that the timeout doesn't kill the launched process. It would be better to add a warning to the process runner in this case to say that the process may still be running.
Looks good otherwise.

authors: bgavrilMS duncanpMS

repo: SonarSource/sonar-msbuild-runner


text:
GlobalHistoryContext with multiple EditingContext on same DomNode

I'm currently running into an issue collapsing all of the HistoryContext for our tool into one GlobalHistoryContext.  Our Schema loading looks like this:
Schema.parentNodeType.Type.Define(new ExtensionInfo<GlobalHistoryContext>());

Schema.childNodeType.Type.Define(new ExtensionInfo<EditingContext1>());
Schema.childNodeType.Type.Define(new ExtensionInfo<EditingContext2>());

The problem is that during GlobalHistoryContext.AddNode(DomNode node) the child HistoryContext get put into a HashSet<HistoryContext>.  This means that m_childHistoryContexts only contains EditingContext1.
If EditingContext2 happens to be the active context when the user tries to Undo certain operations in our tool, a new Transaction is added to the CommandHistory in HistoryContext.OnEnded() due to m_undoingOrRedoing not being set to true during GlobalHistoryContext.SynchronizeUndoRedoStatus(bool newStatus).
I tried to derive from GlobalHistoryContext to implement our own version that can handle multiple EditingContext on a single DomNode, but that does not work because the set for HistoryContext.UndoingOrRedoing is set to internal access level.
Do we need to change the structure of our schema or is this something that can be supported in ATF?

I will look into this issue as soon as I get a chance.
Though, I think a simpler approach is to use one EditingContext and registered it on parentNode instead of having multiple history contexts.
Schema.parentNodeType.Type.Define(new ExtensionInfo());
Then make EditingContext to work on the entire tree.
For another way to solve the problem look at GameContext.cs in  LevelEditor project
GameContext.cs deals with  multiple history contexts. Because each sublevel is a separate document so it needs to have its own History Context.
But if the entire DomTree in project is stored in one document then one history context at the root node is sufficient and simpler.
Thanks
Alan

Thanks for the quick reply!  I will take a look at what LevelEditor does and see if that can be adapted.
The reason we have multiple EditingContext on that one node, is that they are ITreeView editors for different sets of data on the childNodeType (we use the DomNode property as the Root of the tree and return specific children from the childNodeType in GetChildren()).  Is there a better way to implement that type of behavior?

You are welcome
if each  set of data needs to have its own history context (undo/redo stack)  then your are dong the right thing to use  GlobalHistoryContext.  (Currently I am busy but I will take look to make required changes to work for you case).
But if your use case allows to have one undo/redo stack for all the data sets.
The  root node  can listen to any changes from any descendent nodes.
All the DomNode events bubble up to the root node you can hook subscriber at any level up to the root node.
Regarding LevelEditor's approach.
It might not work for you because it address different issue.
The main Level (Root Node) can have N number of sublevels each of them is separate document stored in its own file. But all of them are rendered into one viewport.
Each sublevel has its own history context but they are synchronized to have same undo depth.
Alan

You are correct that the LevelEditor's approach is not what we are looking for.
Any idea on what your solution will look like for modifying GlobalHistoryContext?

I pushed some changes to ATF from our internal main branch.
Sync and look at the release note located at root folder for detail.
Regarding multi history contexts, I suggest not to use GlobalHistoryContext instead implement your own multi-history context without derive from the global one.
In your case you need to register your MultiHistoryContext on parentNode.
and register EditingContext on  each child node.
When user activates an editor that is bound particular child then set child's editing context to be active context. You can do this by using ContextRegistry.ActiveContext.
In this case each editor will have its own undo/redo history.
You need to tackle few issues to make it work.
For example the logic that determines if the document is dirty needs to aggregate dirty flags for all the sub-contexts. you can do using your MultiHistoryContext.
Note that dealing with multiple contexts is challenging for experienced ATF programmer.
So it might take time to get it right.
Good luck
Alan

Sorry for the delay in replying, but I was out on a business trip.
Looking at your change, I'm not sure if making GlobalHistoryContext.SynchronizeUndoRedoStatus public virtual will help me implement MultiHistoryContext correctly.  The member that I was having issues with was HistoryContext.UndoingOrRedoing.  If I can not set that in my own history context, Transactions will still be added during undo/redo.
Is it possible to make HistoryContext.UndoingOrRedoing more accessible?

Yes, for now make a local change.
I will change the setter to public for next update.

repo: SonyWWS/ATF


text:
Modifying the EXDF Transformation Rules

I'd like to modify the game's script in a way that changes just the NPC dialogue to Japanese but keeps the rest of the UI in English, so basically the same as the language learner tool but without the English text in the textboxes and without the Japanese text in the rest of the UI elements (I know I'll probably run into some issues trying to guess the right romanization/katakana names and stuff at times, but I'll cross that bridge when I get there)
Are there some quick edits I could do to the json to accomplish that?

There are multiple places you'll get dialogues, and it's kind of impossible to get it correct all the time. That said, what you want is in sentence and mixed target groups. Grab EnglishWithJapanese_SayQuestJapanese.json, and modify the rules to contain only the following:
{
    "targetGroups": ["sentence", "mixed"],
    "replaceTo": "{2}"
}

Fair enough. Will try once I can safely log out and back in again without being hit by a 1k+ queue, thanks.

Remvoe CompanionTransient, ContentFinderConditionTransient, and other stuff ending with Transient to prevent descriptions of something from being displayed in Japanese. You might want to grab FFXIV Explorer or Godbert and see which files listed in sentence group contain stuff you do not want translated in Japanese, and then remove those lines.

Thanks a lot for your help, it's doing exactly what I was hoping for now. Awesome tool

authors: Soreepeong neo-royalty

repo: Soreepeong/XivAlexander


text:
Remove items from a list with the plugin?

Hello there,
First of all: thank you for this plugin. I was looking for a good plain JS sortable plugin for a long time!
I only have a question:
Whenever I remove an item, the sorting order must be updated in the database.
In the sortable list, I add buttons to remove the items from the list.
I manually attached a click event to the button to remove the row, but this fails to trigger any event in the Sortable plugin.
Is there an event to trigger or a function to call to remove the item via Sortable?

Solved in #1396

repo: SortableJS/Sortable


text:
npm install angular-sortablejs fail

angular-sortablejs@0.1.0 postinstall /Users/pang/workspace/project/letv-bigdata/dataware/scloud-dataware/insight-webapp/node_modules/angular-sortablejs
typings install

module.js:442
throw err;
^
Error: Cannot find module './support/cli'
at Function.Module._resolveFilename (module.js:440:15)
at Function.Module._load (module.js:388:25)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object. (/Users/pang/workspace/project/letv-bigdata/dataware/scloud-dataware/insight-webapp/node_modules/.bin/typings:10:13)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "angular-sortablejs" "--save"
npm ERR! node v6.3.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! angular-sortablejs@0.1.0 postinstall: typings install
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular-sortablejs@0.1.0 postinstall script 'typings install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular-sortablejs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     typings install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular-sortablejs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular-sortablejs
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:

@pangzhenzhou fixed with https://github.com/SortableJS/angular-sortablejs/pull/3 , there is a new version on npm repo available

authors: pangzhenzhou smnbbrv

repo: SortableJS/angular-sortablejs


text:
[bug] mobile drag bug

official website：

What are u duing ?
Its not a bug !~

But on desctop drag dosnt works!
Why thay works on mobile only !?

Is any solutions available?


text:
Install clangd

Since we use the images for development now as well, we also need to install the latest version of clangd.

According to apt search clangd the latest version available in our container is clangd-15.


text:
Suggestion: Add nested commands

It would be nice to be able to issue a command but execute a command after it, such as
mycommand | wait
It would execute mycommand, then execute wait.
This would be helpful if you need to view the output of the command in the terminal, but have it blocking so you can take time to read it instead of having to scroll back up. It's virtually limitless idea-wise.

Hi. Thanks for sharing your idea. I like it! I will keep it in mind when I make a new version of the library. I'm currently busy with other projects, but I plan to pick up the development of this library again later.

authors: PHXChris spacehuhn

repo: SpacehuhnTech/SimpleCLI


text:
🛑 Wuffs Main is down

In 7b2c31b, Wuffs Main (https://wuffs.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wuffs Main is back up in 1e41957 after 17 minutes.

repo: SparksTheFolf/STF-Uptime-Status


text:
🛑 Wuffs Main is down

In c63e285, Wuffs Main (https://wuffs.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wuffs Main is back up in d67fdc7 after 6 minutes.


text:
🛑 Yiffed Main is down

In 4e868f2, Yiffed Main (https://yiffed.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Yiffed Main is back up in 5d4ade5 after 16 minutes.


text:
Identifier::Global add soft validation for resolves?

Add instance method resolves?
resolves? should check that identifier starts with http(s):// before using another method that actually calls the URL
"another method" should likely get the header but not the body, sensu https://stackoverflow.com/questions/17454956/how-to-get-http-headers-before-downloading-with-rubys-openuri
add sv_resolves? asv_resolves?` as a soft validation

As presently implemented Identifier::Global resolvability soft validation assumes HTTP(S).
Soft validation should be moved to Identifier::Global::Uri maybe? Perhaps even better if Identifier::Global::Uri:Http or something that denotes it is an HTTP(S) identifier. However if UI asks type rather than be autodetected on create/update then perhaps besides moving also disable check if it is not a HTTP(S) URI.
@mjy

authors: LocoDelAssembly mjy

repo: SpeciesFileGroup/taxonworks


text:
spellbook in hands (layer2) not recognized

If i equip spellbook in hands (layer2), the spellbook is not recognized and i cannot cast any spells, as the char or core doesnt sees it.
only works if spellbook is in layer 1 OR in backpack.

See a proposed fix here: https://github.com/Sphereserver/Source-X/pull/955

repo: Sphereserver/Source-X


text:
Possible solution for issue #241 and for the rock throwing spam and some other things

Added: COMBAT_NPC_BONUSDAMAGE Combat flag in the sphere.ini, enablng this flag  will allows the NPCs to gain the following modifier to combat damage:

-Bonus from the CombatBonusStat and CombatBonusPercent properties:
The default value for CombatBonusStat is STR.
The default value for CombatBonusPercent varies according to the CombatDamageFormula 10% if CombatDamageFormula is 0, 20% if CombatDamageFormula is 1 and 30% if CombatDamageFormula is 3.
See changelog of the 19-03-2015  from the 56c-Changelog.txt  revision file for more details on CombatBonusStat and CombatBonusPercent.
-Modifier from the INCREASEDAM property (from -100 up to 100%)
-Anatomy, Lumberjacking and Tactics if the CombatDamage formula is set to a value above 0.
This should satisfy entry #241

Added: BREATH.DAMTYPE, used for changing the type of damage of the breath. Default value is: DAM_FIRE.
Added: THROWDAMTYPE, used for changing the type of damage of the thrown item. Default value is: DAM_PHYSICAL.
Remember that NPCs need at least one the throwable item equipped or in the backpack.
Added: Two new damage flags, DAM_BREATH and DAM_THROWN. These are added automatically to the BREATH.DAMTYPE and THROWDAMTYPE properties, i think they are useful for discriminating the source of damage in the @GetHit trigger.
Changed: Veterinary now works with all tameable creatures: that means all NPCs with brain set to BRAIN_ANIMAL, BRAIN_DRAGON or BRAIN_MONSTER AND with a Taming skill above 0.
Before Veterinary only worked with BRAIN_ANIMAL npcs. Remember that a NPC  is tameable when it has a Taming Skill above 0 and an Animal Lore skill set to 0.
Changed: All NPCs with a Poisoning skill above 0 can now apply poison (if unarmed), before only creatures with BRAIN_MONSTER could apply a poison.
Fixed: There was no timeout for the NPC action THROWING, resulting in a mass spam of throwing actions, the timeout is now 3 seconds.

For veterinary, i'd add a check for humanoid bodies, in that case i'd make it use healing instead

Yes it's better, also i can add the same check to Taming skill because you can tame an humanoid (human, elf or gargyole) if they have the Taming skill > 0 and AnimallLore == 0 :D

repo: Sphereserver/Source-experimental


text:
How to add CFU like interface?

Hi,
https://github.com/google/CFU-Playground
They have added an acc. module and connected to VexRiscv.
Just as learned from NaxRiscv design earlier , it is not difficult to add custom instruction. But since of poor skill of SpanialHDL, it is hard for me to add an interface to send/receive instruction/result to external Acc.
Does any one have  template or example to do this kind of work?
Thanks.

Hi,
As long as the connected CFU interface is state-less, yes it should be ok, as things can go there out of order.
Hmm i think one similar example could be how the FPU is currently connected to NaxRiscv, it has the same kind of topology, very very similar
See for sending commands :
https://github.com/SpinalHDL/NaxRiscv/blob/main/src/main/scala/naxriscv/execute/fpu/FpuIntegerExecute.scala
And here for receiving + writing back integer results :
https://github.com/SpinalHDL/NaxRiscv/blob/6591c684a8cb7c7d6640215744a75c1133de40aa/src/main/scala/naxriscv/execute/fpu/FpuWriteback.scala#L172
So note that i think CFU like stuff should be handled in execution units with variable latency (not static latency)

Yes!Thank you very much.I'll try it . And if any progress , I'll open source it.

Thanks :)

Hi,
I  jus added a simpler version "cfu" under directory excecute.What I have done is just modified the  code in "fpu",(FpuIntegerExecute and FpuWriteback etc.). It indeed can run baremetal/simd prog. now.
But , the interface  just support composite logic now-- means that have to feed the result asap the valid sig.

I added following code in Gen.scala
if(withCfu){
plugins += new CfuIntegerExecute("EU0")
plugins += new CfuWriteback()
plugins += new CfuEmbedded()
}

Nice ^^
Hmm to past code, you can do :
```scala
your scala code here :)
```

In Gen.scala:
if(withCfu){
   plugins += new CfuIntegerExecute("EU0")
   plugins += new CfuWriteback()
   plugins += new CfuEmbedded()
}
...
val intRfWrite = new{}
plugins.collect{
case lsu : LsuPlugin =>
lsu.addRfWriteSharing(IntRegFile, intRfWrite, withReady = false, priority = 3)
case eu0 : ExecutionUnitBase if eu0.euId == "EU0" =>
eu0.addRfWriteSharing(IntRegFile, intRfWrite, withReady = true, priority = 2)
case fpu : FpuWriteback =>
fpu.addRfWriteSharing(IntRegFile, intRfWrite, withReady = true, priority = 1)
case cfu : CfuWriteback =>
cfu.addRfWriteSharing(IntRegFile, intRfWrite, withReady = true, priority = 0)
}

And in the "CfuIntergerExecute.scala"( Just a simple version of FpuIntergerExecute.scala)
val cfu = create early master(CfuBus(XLEN.get == 64, ROB.ID_WIDTH))
val logic = create late new Area{
val eu = setup.eu
val stage = eu.getExecute(0)
import stage._

val forked = RegInit(False) setWhen(setup.intCmd.fire) clearWhen(!isStuck)
haltIt(setup.intCmd.isStall)
cfu.cmd.valid := isValid && CfuIntegerExecute.SEL && !forked
cfu.cmd.rs1 := eu.apply(IntRegFile, RS1)
cfu.cmd.rs2 := eu.apply(IntRegFile, RS2)
val instruction = stage(Frontend.MICRO_OP).asUInt
cfu.cmd.OPCODE := instruction
// haltIt(cfu.rsp.valid) // Waite for CFU finish , is it correct to use haltIt here ?
cfu.rsp.ready := isValid & cfu.rsp.valid
// -- the core pipeline does not work when delay de rsp.valid two clock after cfu.cmd.valid , By now have to respose at the same clock
// setup.intCmd.valid := isValid & cfu.rsp.valid
setup.intCmd.valid := isValid && CfuIntegerExecute.SEL && !forked;
setup.intCmd.opcode := OPCODE
setup.intCmd.rs1 := eu.apply(IntRegFile, RS1)
setup.intCmd.rs2 := eu.apply(IntRegFile, RS2)
setup.intCmd.result := cfu.rsp.rd // result from CFU
setup.intCmd.instruction := stage(Frontend.MICRO_OP).asUInt
setup.intCmd.robId := ROB.ID

Where CfuBus is defined in Interface.scala (and again just ported from fpu/Interface.scala）:
case class CfuCmd(rv64 : Boolean, robIdWidth : Int) extends Bundle{
val OPCODE = UInt(32 bits)
val rs1 = Bits(32+rv64.toInt32 bits)
val rs2 = Bits(32+rv64.toInt32 bits)
}

case class CfuRsp(rv64 : Boolean, robIdWidth : Int) extends Bundle{
val rd = UInt(32+rv64.toInt*32 bits)
val error = Bool()
}

case class CfuBus(rv64 : Boolean, robIdWidth : Int) extends Bundle with IMasterSlave {
val cmd = Stream(CfuCmd(rv64,robIdWidth))
val rsp = Stream(CfuRsp(rv64,robIdWidth))

override def asMaster() = {
master(cmd)
slave(rsp)
}
}

Any help please?

Hi,
What is the issue you are facing ?
Do you have your code pushed somewere ?

Hi，I have

Hi，
I have not pushed the code somewhere.
As code posted previously , the CFU  interface just work for combinational logic now, means that the attached CFU module has to give the result in the same clock of valid.
The question is how to stall the pipeline /(or handshake with Core) until the CFU module finish compute task--maybe several clocks after the raise of valid? And the setup.intCmd.valid raise after the response of CFU.

val cfu = create early master(CfuBus(XLEN.get == 64, ROB.ID_WIDTH))
val logic = create late new Area{
val eu = setup.eu
val stage = eu.getExecute(0)
import stage._

val forked = RegInit(False) setWhen(setup.intCmd.fire) clearWhen(!isStuck)
haltIt(setup.intCmd.isStall)
cfu.cmd.valid := isValid && CfuIntegerExecute.SEL && !forked
cfu.cmd.rs1 := eu.apply(IntRegFile, RS1)
cfu.cmd.rs2 := eu.apply(IntRegFile, RS2)
val instruction = stage(Frontend.MICRO_OP).asUInt
cfu.cmd.OPCODE := instruction
// haltIt(cfu.rsp.valid) // Waite for CFU finish , is it correct to use haltIt here ?
cfu.rsp.ready := isValid & cfu.rsp.valid
// -- the core pipeline does not work when delay de rsp.valid two clock after cfu.cmd.valid , By now have to respose at the same clock
// setup.intCmd.valid := isValid & cfu.rsp.valid  // **Want this to work**
setup.intCmd.valid := isValid && CfuIntegerExecute.SEL && !forked;
setup.intCmd.opcode := OPCODE
setup.intCmd.rs1 := eu.apply(IntRegFile, RS1)
setup.intCmd.rs2 := eu.apply(IntRegFile, RS2)
setup.intCmd.result := cfu.rsp.rd // result from CFU
setup.intCmd.instruction := stage(Frontend.MICRO_OP).asUInt
setup.intCmd.robId := ROB.ID
```scala

Ahhhh got it.
So, CfuIntegerExecute should only send a command to the CFU (not handle the response at all)
while CfuWriteback will have to handle the response.
I guess one issue you will have is to retreive the context of the response in the CfuWriteback plugin.
You could for instance use a Fifo from the CfuIntegerExecute cmd to the CfuWriteback response.
Else, a totaly different way you could implement the CFU integration in NaxRiscv could be to make it more like the  division plugin :
https://github.com/SpinalHDL/NaxRiscv/blob/main/src/main/scala/naxriscv/execute/DivPlugin.scala
It fully integrate to CFU along one execution unit pipeline (unlike the FPU)
The DivPlugin is very close to what the CFUPlugin would need to be, in the way that it integrate a divider unit which has a cmd + rsp stream :
https://github.com/SpinalHDL/NaxRiscv/blob/6d1d48379609c5a390f8f4f02527282b21b311b6/src/main/scala/naxriscv/execute/DivPlugin.scala#L65
i should have think about it before XD Sorry for that

Ok, I'll try it.Thanks

repo: SpinalHDL/NaxRiscv


text:
Process columns of non-public entities

This PR fixes issue https://github.com/SpineEventEngine/core-java/issues/783.
Previously, if the entity class was non-public, its columns would not be extracted and the warning would be printed to the log.
This PR removes the check and ensures that all entities are processed by the ColumnValueExtractor regardless of their access level.
The Spine version advances to 0.10.61-SNAPSHOT.

@armiol PTAL.

repo: SpineEventEngine/core-java


text:
Update Spine to v0.11.*

In this PR we update the versions of Spine and other dependencies.
Also, this PR starts the preparation of converting this repository into a template for user code generation. For this matter, the config submodule was deleted.

@armiol, PTAL.
@serhii-lekariev, FYI.

@armiol, PTAL. Let's discuss the remaining issues.

@serhii-lekariev, please address the last comment by @armiol and request a review from @dmitrykuzmin.

@dmitrykuzmin, PTAL.

authors: dmdashenkov serhii-lekariev

repo: SpineEventEngine/server-quickstart


text:
Clear marked Date

While updating date how to clear the previous marked dates in calendar view

MarkedDates markedDates = calendarView.getMarkedDates();
ArrayList markData = markedDates.getAll();
for (int k=0; k<markData.size();k++){
calendarView.unMarkDate(markData.get(k));
}

repo: SpongeBobSun/mCalendarView


text:
Add more Selector API

Sponge | SpongeAPI
Adds methods to Selector to retrieve

Whether it is able to select players only or any entity type
The limit for number of entities it can select

These APIs are particularly useful for external command frameworks when combined with the ENTITY ClientCompletionKey.

I've reworded the Javadocs slightly and made them conform to our style - figured it'd be better to do that rather than get you to do it and waste time doing so.
https://github.com/SpongePowered/SpongeAPI/commit/9273ea9a33c7c239ec95862b07a31a5e7a87e397

authors: dualspiral jpenilla

repo: SpongePowered/SpongeAPI


text:
CYD images missing...?

Will the support for the 2 versions of the CYD be continued?

Trying webflasher....which is waiting for download from github....

CYD images will be added later down the line right now im trying to fix Marauder V6 and other stuff too


text:
🛑 [C] IP Ending with .33 is down

In eded79a, [C] IP Ending with .33 ($IP_GRP_C.33:$MONITORING_PORT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: [C] IP Ending with .33 is back up in 139d518 after 6 minutes.


text:
Initial contract definition

For the first iteration we should track those information on IPFS or similar on chain storage:

accepting a task (require signature from PM+contrib)
submitting a task (contrib only)
dispute (PM only)
approval (PM only)
sweat token allocation (PM only)

This data will be provided from the backend when a task is completed

MVP version of PM contract implemented.

repo: SporosDAO/sweat-token


text:
Forked EaselJS

I noticed that SpringRoll has its own forked EaselJS, but I would like to know if there is a way I could use my own forked EaselJS? How can I get it running? Are there any specific file(s) or method, etc needed to get it running?
I'm asking because I am just trying to use my own forked EaselJS (fairly newer version, which includes the MovieClip.js), and nothing is showing up. (sound and objects are there, checking through the console, but just a white screen)
Thanks for your help!

Hi @gregmax17 You can set bower.json to point to your fork instead of Springroll fork like so:
"dependencies": {
		"normalize-less": "*",
		"springroll": "0.4",
		"bellhop": "*",
		"soundjs": "https://github.com/SpringRoll/SoundJS.git",
		"easeljs": "https://github.com/gregmax17/EaselJS",
		"tweenjs": "https://github.com/SpringRoll/TweenJS.git"
	}

Another thing to note is that the Springroll fork has specific modifications, for your fork to work properly with Springroll, make sure to merge the Springroll fork changes into yours.
In the short future, we will be merging back into the main repo, however if you want to use your fork in the interm, make sure you merge the Springroll changes into your fork.
The Springroll changes are specified in the README.md file at the bottom.

The following changes were made to the Springroll fork of EaselJS:
SpringRoll specific changes

Version numbers have been removed from built files.
DisplayObjects have a hitShape property, which overrides hitArea/default hit testing with the geometric shape that hitShape is set to.
Bitmap doesn't attempt to draw sourceRects with a width or height of 0 (or less).
Container.removeAllChildren() is optionally recursive, pass true as a parameter.
Time based MovieClips have been redone. Now they track an elapsed time which counts from the start of their timeline. This allows for greater control over playback, including strict syncing to audio.
Text allows for drawing stroked text. An graphical issue with custom fonts has also been fixed.
ColorFilter now attempts to account for browsers that don't handle pixel manipulation properly.
Rectangle.contains() allows for a Point or Rectangle to be passed for the first parameter.
Touch no longer breaks when Touch.disable() is called on a stage that did not have touch in the first place.
Containers that are not tickEnabled still pass ticks on to their children if tickChildren is true.
Changed how MovieClips fetch the framerate from parents to properly set the new _duration as well.
Added a way to disable mouse events except mousemove on the stage.

I see...
Thank you for the quick response.
Another reason I wanted to use my own forked version of EaselJS was because it has the SpriteContainer (an the EaselJS version appears to be old?).
I would like use a WebGL filter effect, but I can't seem to get PIXI and EaselJS working with SpringRoll, or just PIXI alone. Seems to always error out on me, even a plain vanilla build.
Do you know how I can get PIXI working with EaselJS? Or a way to get the SpriteContainer working?

This is a SpringRoll 1 issue, closing

repo: SpringRoll/SpringRoll


text:
Add --port option to scargo flash

Closes #52
I've verified that both parttool.py and esptool.py have the --port option, however st-flash does not have anything like this, so it seems that it can only be supported for esp32 targets.

Closed because it is based on branch on fork

authors: jze-spyro spyro-dgr

repo: Spyro-Soft/scargo


text:
[Enhancement] Adding Vector Calculator

Description
I would like to add vector Calculator where users can find Addition, Subtraction, Dot product or cross product of vectors.
Workflow :

The user will enter the vectors in the form (xi + yj + zk)
He/She will be prompted for Addition, Subtration, Dot or Cross Product among the vectors.
Subsequently the result will be displayed after calculation

I would like to work on this issue under JWOC 2023. Please Assign me. @Srijita-Mandal 😄

@pooranjoyb go for it.

@Srijita-Mandal
I would like to work on this under JWOC

authors: Awesomeasma Srijita-Mandal pooranjoyb

repo: Srijita-Mandal/fix-your-nums


text:
I will fix the responsiveness of all the pages

Category

[ ] Documentation
[ ] Resource Addition
[ ] Codebase
[x] User Interface
[ ] Feature Request

Description

I will fix the responsiveness of all the pages, please assign me this issue under JWOC '24

You're assigned.


text:
[UI] Dark mode for Open Source Programs Page

Category

[ ] Resource Addition
[ ] Documentation
[ ] Codebase
[x] User Interface
[ ] Feature Addition

Description

@Sriparno08 Can you assign me this issue

Sure, @rnavaneeth992. You're assigned!


text:
[Feature Addition] <Addition of a Feature Of Rate Us!!>

Category

[ ] Resource Addition
[ ] Documentation
[ ] Codebase
[ ] User Interface
[x] Feature Addition

Description

I noticed that the feedback of user is also a necessary component to know what is needed in the website. Hence adding an option of rating using stars for the users will help us to have a nice feedback database. I would love to create a feature as such for your website.

This is how the rate us will look like..Ive been working on it since a few days..I'll be glad if I get assigned with this task!
This component appears after 30 seconds of continuous activity on the website.

This is how the rate us will look like..Ive been working on it since a few days..I'll be glad if I get assigned with this task!
This component appears after 30 seconds of continuous activity on the website.

Nice suggestion, @SrishtiChamoli!
Let's do it. I'm assigning this to you.


text:
模型测试问题

你好，我在运行你的代码进行测试的过程中，在加载权重出现了问题。可以提供一下backbone的权重下载链接吗

可以在swin transformer这里下载所有权重：https://github.com/microsoft/Swin-Transformer。 我们swinT使用的是swin_tiny_patch4_window7_224.pth,  swinS是swin_small_patch4_window7_224_22k.pth , swinB用的是swin_base_patch4_window12_384_22k.pth，在更换权重的时候请注意在swin_transformer.py的最后需要更改相应的层数，这些修改的参数对应着swin transformer backbone的config.

可以在swin Transformer这里下载病毒重：https://github.com/microsoft/Swin-Transformer。我们swinT使用的是swin_tiny_patch4_window7_224.pth，swinS是swin_small_patch4_window7_224_22k.pth，swinB用的是swin_base_patch4_window12_384_22k.pth，在权交重的这时请注意在 swin_transformer.py 的最后需要更改相应的层数，这些修改的参数对应于 swin Transformer 主干的配置。

这个链接无效

swin_tiny_patch4_window7_224.pth这个权重在哪里下载

authors: LoveOverOrStart Sssssuperior

repo: Sssssuperior/VSCode


text:
Installation not completing - botocore

Hi, I'm trying to install via pip install stable-audio-tools. This results in an extremely long-winded installation process where an enormous amount of different versions of botocoreand aiobotocore are installed. I assume this is done by pip in order to resolve dependencies. I currently have not been able to complete the installation due to these installs not finishing.
Just wanted to see if this problem is on my end, or if it might be an issue with the package installation.
I am on an M3 Pro-chip using Python 3.8.10 via pyenv.
Attaching my terminal output for reference.
debug.txt

I managed to get it working with python 3.10.14

repo: Stability-AI/stable-audio-tools


text:
failed to print string array

I am trying to print the gateway of each NetAdapter by following code,
It print [] for all netadapters, not sure if this is a bug.
package main

import "github.com/StackExchange/wmi"
import "fmt"

// https://msdn.microsoft.com/en-us/library/aa394217(v=vs.85).aspx
type Win32_NetworkAdapterConfiguration struct {
	IPAddress []string
	DHCPServer string
	MACAddress string
	DefaultIPGateway []string
}

func main() {
	var dst2 []Win32_NetworkAdapterConfiguration
	query := fmt.Sprintf("")
	q := wmi.CreateQuery(&dst2, query)
	err := wmi.Query(q, &dst2)
	if err != nil {
		fmt.Println(err)
	}
	for _, v := range dst2 {
		fmt.Println(v.MACAddress, v.IPAddress, v.DHCPServer, v.DefaultIPGateway)
	}
}

The problem is, that oleutil.Value() in this case returns nil - and in wmi.go:288 nil value is ignored. It shouldn't be - default case in switch that follows should take care of nil value and check if it is not array.

Guys I'm seeing that panic and looks like it is related to arrays
I checked example above with latest master and it gives same panic
runtime: VirtualAlloc of 68719476736 bytes failed with errno=1455
fatal error: out of memory

runtime stack:
runtime.throw(0x53f9ba, 0xd)
        C:/Go/src/runtime/panic.go:608 +0x79
runtime.sysMap(0xc000400000, 0x1000000000, 0x64bdd8)
        C:/Go/src/runtime/mem_windows.go:122 +0x138
runtime.(*mheap).sysAlloc(0x6330e0, 0x1000000000, 0x3d4fdb0, 0x3d4fd88)
        C:/Go/src/runtime/malloc.go:619 +0x1d9
runtime.(*mheap).grow(0x6330e0, 0x800000, 0x0)
        C:/Go/src/runtime/mheap.go:920 +0x49
runtime.(*mheap).allocSpanLocked(0x6330e0, 0x800000, 0x64bde8, 0x20)
        C:/Go/src/runtime/mheap.go:848 +0x361
runtime.(*mheap).alloc_m(0x6330e0, 0x800000, 0x3d40100, 0x40b3c9)
        C:/Go/src/runtime/mheap.go:692 +0x127
runtime.(*mheap).alloc.func1()
        C:/Go/src/runtime/mheap.go:759 +0x53
runtime.(*mheap).alloc(0x6330e0, 0x800000, 0x3010100, 0x414ef3)
        C:/Go/src/runtime/mheap.go:758 +0x91
runtime.largeAlloc(0x1000000000, 0x440001, 0xc0000902d0)
        C:/Go/src/runtime/malloc.go:1019 +0x9e
runtime.mallocgc.func1()
        C:/Go/src/runtime/malloc.go:914 +0x4d
runtime.systemstack(0x0)
        C:/Go/src/runtime/asm_amd64.s:351 +0x6b
runtime.mstart()
        C:/Go/src/runtime/proc.go:1229

goroutine 4 [running, locked to thread]:
runtime.systemstack_switch()
        C:/Go/src/runtime/asm_amd64.s:311 fp=0xc00006f348 sp=0xc00006f340 pc=0x451080
runtime.mallocgc(0x1000000000, 0x517e40, 0x1, 0x0)
        C:/Go/src/runtime/malloc.go:913 +0x8d5 fp=0xc00006f3e8 sp=0xc00006f348 pc=0x40b985
runtime.makeslice(0x517e40, 0x100000000, 0x100000000, 0x0, 0x0, 0xc00006f490)
        C:/Go/src/runtime/slice.go:70 +0x7e fp=0xc00006f418 sp=0xc00006f3e8 pc=0x43c06e
github.com/go-ole/go-ole.(*SafeArrayConversion).ToValueArray(0xc00006f690, 0x18, 0x50f4a0, 0x55f5e0)
        github.com/go-ole/go-ole/safearrayconversion.go:37 +0x6e fp=0xc00006f500 sp=0xc00006f418 pc=0x4e9cce
github.com/StackExchange/wmi.(*Client).loadEntity(0x62fe50, 0x508960, 0xc00008ee70, 0x37f3058, 0x0, 0x0)
        github.com/StackExchange/wmi/wmi.go:378 +0xf46 fp=0xc00006f7c8 sp=0xc00006f500 pc=0x4efec6
github.com/StackExchange/wmi.(*Client).Query.func1(0xc00006f8c8, 0x55f5e0, 0x521680, 0x62fe50, 0xc00006f968, 0xc00006f958, 0x1, 0xc00006f998, 0x0, 0x0)
       github.com/StackExchange/wmi/wmi.go:215 +0xff fp=0xc00006f858 sp=0xc00006f7c8 pc=0x4f1c2f
github.com/StackExchange/wmi.(*Client).Query(0x62fe50, 0xc0000cc0a0, 0x4a, 0x508020, 0xc0000be060, 0xc0000be0a0, 0x2, 0x2, 0x0, 0x0)
        github.com/StackExchange/wmi/wmi.go:230 +0x828 fp=0xc00006f9c0 sp=0xc00006f858 pc=0x4ee9e8
github.com/StackExchange/wmi.Query(0xc0000cc0a0, 0x4a, 0x508020, 0xc0000be060, 0xc0000be0a0, 0x2, 0x2, 0x10, 0xc0000c20e8)
        github.com/StackExchange/wmi/wmi.go:76 +0x10c fp=0xc00006fa20 sp=0xc00006f9c0 pc=0x4ee18c
github.com/StackExchange/wmi.QueryNamespace(0xc0000cc0a0, 0x4a, 0x508020, 0xc0000be060, 0x542534, 0x16, 0x2, 0x0)
        github.com/StackExchange/wmi/wmi.go:59 +0xdf fp=0xc00006fa90 sp=0xc00006fa20 pc=0x4ee03f
...

Here is code
type Msvm_GuestNetworkAdapterConfiguration struct {
	InstanceID  string
	IPAddresses []string
}

func main() {
var q string
	var ips []Msvm_GuestNetworkAdapterConfiguration
	q = wmi.CreateQuery(&ips, "")
	if err = wmi.QueryNamespace(q, &ips, `root\virtualization\v2`); err != nil {
		fmt.Println(err.Error())
	}
}

Seems I've found why this panic happens.
I'm not windows expert but looks like root cause is captured
at first merged fix looks like
		if prop.VT == 0x0001 {
			continue
		}

as far as I got when returning array from syscall prop.VT is always set to 0x200C (VT_ARRAY | VT_VARIANT) even if length of array is empty
In example below request returns 6 entries and in 5 of them IPAddresses not set and crazy value in Upperbounds (4294967295) cases out-of-memory issue.
Using some advanced math and filtering techniques I just skipped those values and as result could get valid IPAddresses slice for remaining entry
ole
func (sac *SafeArrayConversion) ToValueArray() (values []interface{}) {
	totalElements, _ := sac.TotalElements(0)
	if totalElements == 4294967296 {
		return
	}

wmi
arr := safeArray.ToValueArray()
if len(arr) > 0 {

query:  SELECT InstanceID, IPAddresses FROM Msvm_GuestNetworkAdapterConfiguration
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[208,44,15,0,0,0,0,0,0,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 4294967295
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[128,44,15,0,0,0,0,0,0,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 4294967295
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[80,45,15,0,0,0,0,0,0,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 4294967295
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[128,46,15,0,0,0,0,0,0,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 4294967295
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[80,115,16,0,0,0,0,0,2,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 1
prop VT 8
prop VT 200c
sac.Array:  {"Dimensions":1,"FeaturesFlag":2176,"ElementsSize":24,"LocksAmount":0,"Data":0,"Bounds":[0,46,15,0,0,0,0,0,0,0,0,0,0,0,0,0]}
LowerBounds: 0, UpperBounds: 4294967295
[{"InstanceID":"Microsoft:GuestNetwork\\060F4EA8-7E79-4ED7-AD81-2CD905872BDC\\3204CD52-19B6-4FA1-8D9C-0BF1AA4C6E26","IPAddresses":null},{"InstanceID":"Microsoft:GuestNetwork\\0D83FB7D-CA0E-41F1-A518-E5CA27A9C619\\5BEC2DF1-13FB-4549-B93E-64D926CDD532","IPAddresses":null},{"InstanceID":"Microsoft:GuestNetwork\\76282C7E-C333-4F03-9FD7-4670FE7F6A9D\\2FB96A1C-1BB6-4B85-8D51-6C7E971E1639","IPAddresses":null},{"InstanceID":"Microsoft:GuestNetwork\\837EF8F6-8B21-45AA-90BB-A4038C11780A\\D219A96A-0AF3-46D8-A7A2-3BD25F1D527F","IPAddresses":null},{"InstanceID":"Microsoft:GuestNetwork\\A5E9BFAF-2C36-4389-999E-BCF1BAE232E4\\CCC717F9-8AFB-4883-BD31-8C8A4628810F","IPAddresses":["192.168.86.137","fe80::215:5dff:fe56:8005"]},{"InstanceID":"Microsoft:GuestNetwork\\C15141DA-4141-4CF5-8BC3-523F31257E53\\01AA1BD9-E080-4875-9620-45F40CD927A8","IPAddresses":null}]

authors: changsijay graf0 troian

repo: StackExchange/wmi


text:
TSC Meeting (2 Feb 2021): TSC Chair follow-up, v3.4.0 Release, Partners, Expenses

February @StackStorm/tsc 1 hour meeting will take place on Tuesday, 2nd Feb 2021, 09:30 AM US Pacific.
See #33 for more info about how to join.
Meeting Agenda

Project updates:

New Contributors: https://github.com/StackStorm/st2/pull/5115 (Starbucks) https://github.com/StackStorm/st2/pull/5114 (Orchestral)
LF Contributions Analytics data: https://insights.lfx.linuxfoundation.org/projects/stackstorm/dashboard

TSC Chairperson follow-up https://github.com/StackStorm/st2/pull/5071 and https://github.com/StackStorm/st2/pull/5135

TSC Chair definition, responsibilities, Governance.md structure, roles, models.

Rightsizing TSC Contribution Expectations (@punkrokk )
StackStorm v3.4.0 Release:

Release Manager @blag, Release Assistant: @amanda11
Target Date: ~end of January 2021~ mid February 2021?

blocker: Security update for st2web dependencies

Python 2.7 support in StackStorm Exchange @blag
Follow-up: StackStorm Partners page Ravi and @punkrokk )
Follow-up: StackStorm infra Expenses migration from Extreme to StackStorm

Packagecloud, CircleCI, Forum, G Suite, AWS

cc @StackStorm/maintainers @StackStorm/contributors.

Added a discussion about Python 2.7 support for Exchange packs to the agenda.

Notes Based on the TSC Meeting:
Attendees

@StackStorm/maintainers (6/9): @m4dcoder @blag @armab @amanda11 @punkrokk @mickmcgrath13
@StackStorm/contributors: @jjm

Thanks everyone for joining!
Meeting Minutes
LF Analytics

Updated https://insights.lfx.linuxfoundation.org/projects/stackstorm/dashboard provides analytics about the technical contributions to the project.
Shows aggregated data everyone can use and see for tracking the impact from the partners and maintainers.
Close work with the LF Support allowed to manually tie the contributions with the companies/users profiles. Fixed: Ammeon, Orchestral partner contributions.
Community Contributions Leaderboard: filter by "all" can be used to track an aggregated contribution data: not just lines of code, but triaged Issues, Opened, Closed PRs, Reviews, etc.
TSC Maintainer responsibilities are described in the Governance https://github.com/StackStorm/st2/blob/master/GOVERNANCE.md#maintainer-responsibilities and it's a reminder for Maintainers to keep their level of involvement with the requirements they signed for when joined the TSC.
@punkrokk raised a question about acknowledging non-technical contributions to the project.

Partners

As partners are now disconnected from the requirement of being a TSC Member (based on previous Meeting per @dzimine call), entry criteria for both groups might differ and we may see folks that fit Partners based on their impact, but not the TSC Maintainers and vice-versa. Partners requirements TBD.
Community needs to find the balance/intersection between the Partner's & Open Source interests to ensure the healthy ongoing project growth under the Linux Foundation Governance.
Partners expressed the intent to form a new committee inside the StackStorm Governance to influence the non-technical project decisions.
@punkrokk (Blue Cycle) and Ravi (Orchestral) to provide a written proposal around the StackStorm Partners for Community to review and provide feedback.

StackStorm v3.4.0 Release

v3.4.0 roadmap/TODO is 99% finished
Release Managers are close to starting the Community Pre-Release Testing
Blocker: st2web security update due to outdated dependencies

Solution WIP by Orchestral contribution: https://github.com/StackStorm/st2web/pull/854

Problem: Python 2 CI in StackStorm-Exchange started to fail

Consensus Plan:

Drop Python 2 support for Exchange in this v3.4 release (initial intent was to support it until v3.5)
Remove Python 2 Tests from all the packs CI
Set the py3 as the only supported version in the pack metadata
Add Changelog for every pack about py2 removal
Bump the major version for every pack
Automate it as a st2 github bot (commits to master)
Announce to Community the deprecation of Python 2 in Exchange

Uncovered

TSC Chair Election Process & Procedures: https://github.com/StackStorm/st2/pull/5071 and https://github.com/StackStorm/st2/pull/5135

Moved to the next TSC meeting, due to missing @dzimine

Next meeting will be focused on the v3.5.0 Roadmap Planning.

authors: armab blag

repo: StackStorm/discussions


text:
Remove st2resultstracker from st2ctl, the development environment and the st2actions setup

This removes the references to the st2resultstracker service while keeping the code base of the resultstracker.
close #5070

It looks like we have a circular dependency between this PR and https://github.com/StackStorm/st2-packages/pull/683 now.
The st2resultstracker is a service managed via the debian/rules file. So the post_install job fails.
In my opinion, it would pass once https://github.com/StackStorm/st2-packages/pull/683 is merged.
I could also try to revert some of the deletions I made as part of this PR and see what it takes to pass the tests but this would lead to an intransparent state of the resultstracker configurations and service definitions in the codebase. So, for now, I'd like to avoid it.
Please let me know what you prefer or if you have another idea.

Agreed with @blag to keep this PR as it is and merge both PRs on monday. The Exchange pack CI builds do have a higher priority and we want them to succeed over the weekend.
See https://stackstorm-community.slack.com/archives/CSBELJ78A/p1608330230290400

Hi, I addressed the comment in the other PR and updated both branches so that they're up-to-date with the corresponding master. I'll take care of st2docs as well.

Looks like https://travis-ci.org/github/StackStorm/st2/jobs/751261368#L1513-L1537 CI is not happy about the st2.conf.sample changes.
The PR needs a bit more work to make sure engine doesn't pick up resultstracker module automatically for st2.conf generation.

Hi @armab, now the unit and integration tests are failing. This feels like a rabbit hole and I'm no longer sure if I'm on the right path. Should I proceed by removing / fixing failing tests or do we want to keep the st2resultstracker configuration for the tests only?
To be honest, I'm not sure if the latter option would actually work.

Disclaimer: I haven't looked into this in-depth yet.
I don't think we will be able to get this to pass tests unless we remove the code for resultstracker from st2.
How do we get tests to pass unless we remove this line?
        if not config_value and config_option in cfg.CONF.resultstracker:
            config_value = getattr(cfg.CONF.resultstracker, config_option)

If we're going to remove resultstracker, we should rip it out of the codebase. That might prove to be a rabbit hole, but I don't see another way.

I had some time to think about it now and I agree. The initial agreement (see https://github.com/StackStorm/st2/issues/5070) was to keep the code and drop the configs, setups, etc. but the experience I made with this PR so far let me doubt that it's worth it. It might even require a few "hacks".
The idea is to have the code at hand if we want to use it for a similar implementation in the future. I'm wondering if a reference to this PR wouldn't work as well to have a source of the dropped code.

I don't want to keep dead code in the codebase. That's more code to read, more code to track, more code to update, more code that can fail tests (as we see here), and more code to make our coverage statistics look worse than they really are. I say we adopt the YAGNI (you ain't gonna need it) principle and just up and remove it here. If - and it's a big if - we need the code in the future, we can pull it back out of the diff for this PR.
@armab What do you think?

What the implementation team say here as a burden of maintaining the unit/integration tests, coverage and the dead codebase confusion makes sense to me.
As I recall Winson insisted to keep the st2resultstracker service code in-place.
@m4dcoder Can you bring more context if we still need that code here?

@winem Yes, please remove the unused code as it'll maintenance burden. We can look at the git history if we'll ever need it later.

@winem Yes, please remove the unused code as it'll maintenance burden. We can look at the git history if we'll ever need it later.

Thanks for the feedback. I removed the under discussion label and will proceed on the actual task now.

Thanks for the feedback. I removed the under discussion label and will proceed on the actual task now.

Is the querier at all still relevant? To me, it looks like it's only used to check the state asynchronously.
So I would also remove the whole st2common.query module: https://github.com/StackStorm/st2/tree/master/st2common/st2common/query
Please let me know if I miss anything and it's also needed for other cases as well. I couldn't find any use of st2common.query.base that still seems to be relevant.

Is the querier at all still relevant? To me, it looks like it's only used to check the state asynchronously.
So I would also remove the whole st2common.query module: https://github.com/StackStorm/st2/tree/master/st2common/st2common/query
Please let me know if I miss anything and it's also needed for other cases as well. I couldn't find any use of st2common.query.base that still seems to be relevant.

Ok, removing the whole query module causes many test failures to fail. See: https://travis-ci.org/github/StackStorm/st2/jobs/754918090#L1954
So I'm sure I missed something and will check the st2 code again to get an idea how to proceed here. I'm happy about any guidance, sharing the task or contributions.

Ok, removing the whole query module causes many test failures to fail. See: https://travis-ci.org/github/StackStorm/st2/jobs/754918090#L1954
So I'm sure I missed something and will check the st2 code again to get an idea how to proceed here. I'm happy about any guidance, sharing the task or contributions.

Oh, nice! Travis unit/integration tests are now :heavy_check_mark:
Looks like we're good here after fixing the e2e test global issues (irrelevant to this PR).

Oh, nice! Travis unit/integration tests are now :heavy_check_mark:
Looks like we're good here after fixing the e2e test global issues (irrelevant to this PR).

Working on fixing the end-to-end tests today.

Working on fixing the end-to-end tests today.

I did a last review today and would keep it as it is - given that the E2E-tests pass as well.
As a follow up to this topic we might discuss if the code for asynchronous runners (everything around the ActionExecutionState incl the db model, API, etc.) is still needed. But that's out of scope for this one.
And tbh I'm super happy that I got this done. :)

I did a last review today and would keep it as it is - given that the E2E-tests pass as well.
As a follow up to this topic we might discuss if the code for asynchronous runners (everything around the ActionExecutionState incl the db model, API, etc.) is still needed. But that's out of scope for this one.
And tbh I'm super happy that I got this done. :)

LGTM - but I'd appreciate another @blag / @armab sign off. I presume the agreement was to get rid of the resultstracker code plus the query/callback feature that was previously only used by mistral.

LGTM - but I'd appreciate another @blag / @armab sign off. I presume the agreement was to get rid of the resultstracker code plus the query/callback feature that was previously only used by mistral.

authors: amanda11 armab blag winem


text:
Disable Account Deletion

Problem
Currently, account deletion seems to be handled internally by SpeziAccounts. However, we would prefer for the clinician/study team to handle account deletion instead of the patient.
Solution
Disable account deletion as something that's possible to do in the app, or throw an error referring the patient to their clinician. Either way, until this is solved, I went ahead and removed the code in the Onboarding UI tests that tests the deletion functionality
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct and Contributing Guidelines

Thanks @nriedman. To comply with App Store Guidelines, there must be a method for [account deletion], which can be a link to the study website or other method to contact the study team.

authors: nriedman vishnuravi

repo: StanfordBDHG/ENGAGE-HF-iOS


text:
Regent: fix for ispace.bounds in loop expression

Fix for #817

Looks good, will merge this shortly.

Github doesn't see it, but this has been merged as of 9624aab7f03995dfea533a58c8e72ab4690a51de. Thanks!

authors: elliottslaughter rupanshusoi

repo: StanfordLegion/legion


text:
Disable persistent storage of Tasks in simulator

Disable persistent storage of Tasks in simulator
:recycle: Current situation & Problem
We found it overly complicated to deal with SpeziScheduler in the development process (e.g., testing changes within the simulator or running unit tests against a scheduler implementation).
This PR changes the SchedulerStorage component to not interact with the local storage if running within a simulator environment. This should allow for more rapid development (e.g., no requirement to delete the app in between startups) and help in unit testing scenarios.
Additionally, this PR fixes the Equatable implementation of the Scheduler module.
Lastly, we update to the latest Spezi release and remove usage of the LifecycleHandler and avoid directly interfacing with the NotificationDelegate. This ensure that we don't override the Notification Center delegate from someone else and, most importantly, only respond to notifications the scheduler sent.
:gear: Release Notes

Disable persistent storage of Tasks and Events in simulator environments for easier development.
Fix Equatable implementation of the Scheduler.
Update to new Spezi release, replacing LifecycleHandler implementation with SwiftUI native mechanisms.

:books: Documentation
--
:white_check_mark: Testing
--
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[x] I agree to follow the Code of Conduct and Contributing Guidelines.

@PSchmiedmayer make sense. Great catch. I restructured the SchedulerStorage module to be an independent module that you can configure from the outside (via an SPI import). Pretty sweet I think. Added logging to properly communicate if nothing is saved or restored.
I made some additional changes in this PR that (1) fixes some issues around Equatable (and therefore doesn't update our ScheduleView in the template application) and (2) updated everything to the latest changes in Spezi (e.g., LifecycleHandler deprecation and new NotificationHandler protocol).

repo: StanfordSpezi/SpeziScheduler


text:
Sparam File Incompatible for branch s4p

The file "Case4_FM_13SI_20_T_D13_L6.s4p" under data is not parseable by the s4p_to_impulse function call. The rest of the s4p files under data are.

Thanks for catching this -- I'll take a look.

This turned out to be caused by a few non-ASCII characters in the comments section of that S4P file.  I fixed those issues in the latest commit to the s4p branch.

authors: sgherbst zamyers