Requesting CSRF token from server for http requests

Description:
I have the following requirement.
The SAP APIs requires CSRF token for requests. Is there any way in http client to automate it rather than calling the endpoint twice with the required headers.

This might be a possible use case for client interceptors
Client interceptors are not yet implemented in the http module. For now you have to use a wrapper client.
I have pushed a Ballerina wrapper client to central: https://central.ballerina.io/tharmigank/http.client.wrapper/0.0.2
Sample usage:
wrapper:InterceptFunction interceptFunc = isolated function(string path, string method, http:RequestMessage message,
        string? mediaType, map<string|string[]>? headers, wrapper:WrapperCtxMap ctxMap) returns wrapper:ModifiedRequest {

    map<string|string[]> modifiedHeaders = {"X-Test": "test"};
    foreach string key in ctxMap.keys() {
        // getWithType is also available on ctxMap
        io:println("Key: " + key + ", Value: " + ctxMap.get(key).toString());
    }
    if headers is map<string|string[]> {
        foreach [string, string|string[]] entry in headers.entries() {
            modifiedHeaders[entry[0]] = entry[1];
        }
    }
    return {
        message,
        headers: modifiedHeaders,
        mediaType
    };
};

map<anydata> ctxMap = {
    "key1": 3,
    "key2": "value2"
};
wrapper:Client clientEp = check new ("http://localhost:9090", interceptFunc = interceptFunc, ctxMap = ctxMap);

Source repository: https://github.com/TharmiganK/module-tharmigank-http-client-wrapper

I have implemented a sample csrf token client with the behaviour defined in the SAP APIs. You can find the client here: https://github.com/TharmiganK/module-tharmigank-http-client-wrapper/blob/main/ballerina/http_csrf_token_client.bal


Certain folders missing from simulator

The readme says to copy the following folders under data/Library in the simulator:

Accounts
BackBoard
DataAccess
IdentityServices
Keychains
Passes
TCC

In my iOS 8.4 simulators I only see the following from that list:

Accounts
BackBoard
IdentityServices
Keychains
TCC

The missing folders are:

DataAccess
Passes

Could this explain maybe why I still get popups for notification permissions when running the app in the simulator after the SimulatorSetup.sh script completes (and it should have put the simulator in a state where previously accepted permissions are accepted)?
Is there a workaround?
Thanks.

Hi @lyahdav,
Which notification prompts in particular are you trying to accept? Unfortunately we have had trouble with certain prompts?
Cheers,
Glen

I'm trying to accept permission for local notifications.
On Tuesday, August 4, 2015, Glen Tregoning<EMAIL_ADDRESS>wrote:

Hi @lyahdav https://github.com/lyahdav,
Which notification prompts in particular are you trying to accept?
Unfortunately we have had trouble with certain prompts?
Cheers,
Glen
—
Reply to this email directly or view it on GitHub
https://github.com/indiegogo/SimulatorSetup/issues/1#issuecomment-127809214
.

Hi @lyahdav, I've just tried to reproduce this locally, and it looks SimulatorSetup is no longer working with User notification permissions sadly. Apple must have changed the way they track this in the simulator in a way which has broken this.
I'm going to update the wiki to reflect this.
It's possible this is tracked by one of the other folders under data/Library, so you could experiment with that? Unfortunately I am unable to try that our right now.
If you do find one of the other folders solves the problem though please let me know as it would be great to know


Shortened is.Nan, is.Number and is.Integer

I'm not sure if the repo is maintained anymore but I was wondering why es2015 methods haven't been used to shorten certain functions.

Hi @amansahil ,
We try our best to maintain the repo. Issues are always given priority based on their severity levels.
The changes that you have made looks good to me :+1:

Hi @amansahil ,
Appreciate your effort for contributing to is.js
We try our best to maintain the repo. Issues are always given priority based on their severity levels.
The changes that you have made looks good to me  :+1:

@amansahil
Due to the changes made in this, is.number now returns False for Infinity and -Infinity which was not the case before.
IMO, Infinity and -Infinity should not return true when checked with is.number
Can you also add some tests for it?
You can add tests here


Change help URLs from feed.boonex.com to feed.una.io

In all modules install/config.php file, make related changed in DB when upgrade script is run, if value is stored in the DB.

Use MySQL query like the following:

UPDATE sys_modules SET help_url = 'http://feed.una.io/?section={module_name}' WHERE name = 'bx_en' LIMIT 1;

Modules which are needed to updated in the next release:

Antispam
Chat Plus
DataFox
Dolphin Connect
Facebook Connect
Google Connect
Intercom
LinkedIn Connect
Mailchimp
OAuth2
Profiler
SMTPMailer
Twitter Connect
UNA Connect


Update cipher suites to allow ECDSA, drop AES-256

Changes to cipher suites:

drop AES-256, it's unnecessary
allow ECDSA instead of just RSA

r: @stouset @alokmenghrajani

Why are the AES256 suites unnecessary? Useful for wider compatibility.

Does anything support AES-256 but not AES-128? I can add it back though.


Symfony 4 compatibility: Service visibility deprecation

User Deprecated: The "lunetics_locale.allowed_locales_provider" service is private,
getting it from the container is deprecated since Symfony 3.2 and will fail in 4.0.
You should either make the service public, or stop using the container directly
and use dependency injection instead.

User Deprecated: The "lunetics_locale.switcher_helper" service is private,
getting it from the container is deprecated since Symfony 3.2 and will fail in 4.0.
You should either make the service public, or stop using the container directly
 and use dependency injection instead.

Just updated to 3.4 and noticed these deprecations amongst others of ours.
I find it a bit weird that the tests are passing for symfony 4 for this bundle but haven't tried the combination yet myself.
Am I missing something? The related code/configuration seems unchanged.

maybe the tests are lacking. are you sure you do not access this services with a $container->get() yourself? if its in this bundle, we should fix it to DI instead.

There are no mentions of these services in our codebase.
Maybe from here and here

ups. can you try to rewrite that to inject the services and parameters in the constructor, instead of pulling them from the container?


Code review for functional components

Hello 👋
I have been working on a React project using functional components and React Hooks, and I would like to request for a code review to ensure that my code is following best practices and is optimized.Both components are working as intended, but I would appreciate any feedback or suggestions for improvement.
Here is a general overview of how to use functional components in React. Here are the basic steps:

Import the React library at the top of your file, along with any other dependencies you may need:

import React from 'react

Create a function that returns JSX code to define your UI. You can use any valid JavaScript syntax, along with the JSX syntax that React provides. For example, here's a simple functional component that renders a div with some text:

function MyComponent() {
  return
Hello, world!
;
}

You can also define functional components using arrow functions, like this:

const MyComponent = () => {
  return
Hello, world!
;
};

You can also pass props as arguments to your function to customize the component's behavior. For example, you could define a component that takes a name prop and uses it to render a greeting:

function Greeting(props) {
  return
Hello, {props.name}!
;
}

Once you've defined your component, you can use it in your application by rendering it as a child of another component. For example, here's how you could use the MyComponent component we have defined earlier:

function App() {
  return (

Welcome to my app!

      <MyComponent />

  );
}

You can also export your component from its file so that it can be used in other parts of your application. For example:
export default MyComponent;
Finally, you can import your component into another file and use it like any other React component:

import MyComponent from './MyComponent';

function App() {
  return (

Welcome to my app!

      <MyComponent />

  );
}

Conclusion:
This is a brief description on how you can use functional components with hooks to develop a react application

Hello @Balikuddembe ,
Your project is complete!  There is nothing else to say other than... it's time to merge it 👍 👍 😄 👏
Congratulations! 🎉 🎉 🎉
Highlights

Professional Readme File ✔✔

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


[QUESTION] Why i have cells not use?

Why i have cells not use?
templete

Excel::load(Input::file('file'), function($file)
{
$sheet1 = $file->setActiveSheetIndex(0);
Excel::create('Filename', function($excel) use($sheet1) {
// add $sheet1 for new file
$excel->addExternalSheet($sheet1)
})->export('xls');
});
it is false????

Please rephrase your question and code.


Refactor JWT Drivers to Laravel's provided Managers

Subject of the issue
Right now multiple drivers for JWT (lcobucci/jwt and namshi/jose), Auth and Storage uses some custom hacky solution (1, 2, when Laravel provides special solution for that (1, 2, that is better suited and already used within Laravel itself

We should keep both because the alg encrypt, in fact as per what I was reading (I'm having some JWS issues here in my job) this is something related to the RFC 7577 and 7575.
If I understood clearly the RFC.

We should keep both because the alg encrypt, in fact as per what I was reading (I'm having some JWS issues here in my job) this is something related to the RFC 7577 and 7575.
If I understood clearly the RFC.

I think there is some kind of misunderstandment 😅. I'm not talking about removing any features, I'm talking about internal code refactoring, that will not only use existing and provided solutions, but also allow end-users etend library entirely inside their projects more easily

We should keep both because the alg encrypt, in fact as per what I was reading (I'm having some JWS issues here in my job) this is something related to the RFC 7577 and 7575.
If I understood clearly the RFC.

I think there is some kind of misunderstanding 😅. I'm not talking about removing any features, I'm talking about internal code refactoring, which will not only use existing and provided solutions but also allow end-users to extend library entirely inside their projects more easily

Sorry for my misunderstanding my friend hahahhaha
Anyway sounds good, but for this enhancement I believe will be quite harder since the project if looks deeply it works very attached the things between each other, so I believe if we're going forward with that let's split into small parts to keep tests/project running (mainly for us that we already have it working in our production projects/jobs).

@mfn / @eschricker can we close this one?

I have looked at the articles mentioned in the documentation. In my opinion, we should leave this open. From my point of view, this looks like a very useful revision.

I have looked at the articles mentioned in the documentation. In my opinion, we should leave this open. From my point of view, this looks like a very useful revision.

So basically we have to choose on of the drivers and follow up with them right?


Solo model cache not reset after running setup_configuration

If I have an instance running and run setup_configuration, the changes are reflected in the admin, but the changed configuration is not used when trying to log in via OIDC (until the server is restarted or the admin form is saved, probably due to caching)

This turns out to be a local issue only, when using LocMemCache. Because setup_configuration runs in a separate process, the cache is different from the cache that is used by the dev server.


Updated MAINTAINERS.md file for Tier 2 and Tier 3

Updated MAINTAINERS.md file for Tier 2 and Tier 3
Problem
Currently, there is no MAINTAINERS.md file for Tier 2. The current Tier 3 MAINTAINERS.md is actually the Tier 2 version. Additionally, the Tier 3 MAINTAINERS.md is missing a table with information on member roles and responsibilities.
Solution

Added Tier 2 MAINTAINERS.md
Updated Tier 3 MAINTAINERS.md, taken from: https://github.com/DSACMS/dedupliFHIR/blob/main/MAINTAINERS.md?plain=1
Added member roles and responsibilities table to Tier 3.

@decause-gov Along with reviewing the changes above, please let me know if you want any edits for the Tier 4 MAINTAINERS.md: https://github.com/DSACMS/repo-scaffolder/blob/main/tier4/{{cookiecutter.project_slug}}/MAINTAINERS.md


New Feature: Ability to keep certain CashFlows out of the NPV calculation

Pull Request Description
What issue does this change request address?
Closes #339
What are the significant changes in functionality due to this change request?
This new feature allows users to specify npv_exempt=True in CashFlow definitions to allow the CashFlow to be used in the dispatch optimization, but will not use the cash flow in the NPV calculation. This is considered an advanced user feature and should be used with caution.
Also, I have removed all mention of mult_target in HERON's input files. It is a deprecated feature and since most people start new HERON analyses using pre-built input files, this should reduce the amount of people including it in their input files, making it harder to eventually remove all together.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass.
[x] 5. If significant functionality is added, there must be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large tes.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added, the the analytic documentation must be updated/added.
[x] 9. If any test used as a basis for documentation examples have been changed, the associated documentation must be reviewed and assured the text matches the example.

Do the exempt cashflows still show up in the debug run cashflow breakdowns? I assume not, right?

Do the exempt cashflows still show up in the debug run cashflow breakdowns? I assume not, right?

@PaulTalbot-INL just tested it out and am getting an error when trying to generate the cashflow plot. Will take a look at it.

@PaulTalbot-INL figured out the error caused in debug mode by this new feature. I went ahead and added some checks in template_driver.py to avoid adding npv-exempt cashflows to the variable groups in the outer and inner XMLs.

Changes are good, clear to merge once tests pass.


⚠ Spryr has degraded performance

In 289a529, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3302 ms

Resolved: Spryr performance has improved in d6e3c00 after 9 minutes.


[TASK] Expand Table Functionality

Existing

TableBlock.tsx

Tasks
Expand functionality to include:

[x] When bound to a frame, pull data automatically onPageLoad (or changes)
[x] When bound to a frame, add a context menu to filter and unfilter
[x] Expose right menu

Renamed to GridBlock.tsx


Removed all event subscriber infrastructure

Event subscriber infrastructure should go into a separate package (if needed at all - have deleted it for now)
Also updated package version to 8
This PR currently targets a new branch, "for-spawtz".  Question: Should this go in to master, or permanently live in a separate branch?

`This PR currently targets a new branch, "for-spawtz". Question: Should this go in to master, or permanently live in a separate branch?
My vote is for master - given that we only use it in Spawtz, I can't see the point in maintaining separate branches, except for good OSS practice & breaking changes etc but I don't think that should dictate the amount of work we need to do on it. Less is more!


Information about limited availability in the warning structure

In case that no offer can be created (IRT based or reservation offer) for a specific train a warning with additonal information should be returned.
Eg:

request for an "IRT train": in case that the IRT train is sold out the offers[]-request returns an empty offers list with a warning that contains the sold out information for this train.
request for a NRT based regional train and an IRT train: in case that the IRT train is sold out the offers[]-request returns an offers list with offers for the regional train together with a warning containing the sold out information for the IRT train.
request for a NRT based offer on a trip that consists of more than one reservable day trains. In case that one or more trains are sold out the offers[]-request returns a list of NRT based offers together with warnings containing the sold out information for the train (so no reservation offer is possible)

Information in the warning should distinguish:

"sold out" or "no availabilty": all places on the train are booked or permanently blocked
"temporarily not bookable": train is temporarily closed for reservation (but will be opened again)
limited availability": not all persons or transportables from the request can be transported
...

In addition to the attributes "type", "title" and "detail" the warning structure should contain:

tripId
leg id (so the train can be clearly identified)
some code or status
 "warnings": [   {     "type": "/problems/warnings/availability/limited-availability",     "title": "Train has limited availability.",     "detail": "All spots are booked or permanently blocked",     "tripId": "conn01234",     "legId": 1234,     "code": "noAvailability"   } ], [...]

Additional elements in Warning:

use generic pointer to resources related to the warning
Documentation:
Error code --> relevant pointers

Warning Codes:
Code list in chapter error handling to be extended

 SERVICE_NOT_BOOKABLE_TEMPORARILY              (not bookable for some days due to replaning)
 SERVICE_NOT_BOOKABLE_FOR_A_SHORT_TIME    (not bookable for a few minutes due to short term data management)
 SERVICE_NOT_BOOKABLE_PERMANENTLY            (cancelled train)
 SERVICE_SOULD_OUT
 SERVICE_NOT_ENOUGH_PLACES_FOR_ALL_PASSENGERS
 SERVICE_NOT_YET_AVAILABLE_FOR_BOOKING

Link to the code list needed in the schema
To be discussed in the "error group"

Relates to #390

Wording:
SERVICE_TEMPORARILY_NOT_AVAILABLE              (not bookable for some days due to replaning)
SERVICE_NOT_AVAILABLE_FOR_A_SHORT_TIME    (not bookable for a few minutes due to short term data management)
SERVICE_NOT_ABAILABLE_PERMANENTLY            (cancelled train)
SERVICE_NO_AVAILABILITY
SERVICE_INSUFICCIENT_AVAILABILITY
SERVICE_NOT_YET_AVAILABLE


fix(shared): Add support for clerk.com domain in addClerkPredix() utility

Type of change

[x] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[x] @clerk/shared
[ ] @clerk/fastify
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Add support for clerk.com domain in addClerkPredix() utility

@chanioxaris i had this coming

Closing in favor of https://github.com/clerkinc/javascript/pull/906


Rethink logic for how the revision creation/resolution comments are determined

Right now we just grab the first comment but not all entities require an initial revision comment (e.g. Variants). However, CIViCbot revisions might not have a creation comment. Also we currently grab the last comment as the resolution comment but a comment is not required when accepting a revision

The easiest way around this would be to just show the full comment thread and not separately show the creation/resolution comment although the creation comment is desired on the revision popover.

This will be resolved by #561


Computation Integrity

This PR adds support for computation integrity in Opaque. It adds integrity checks both during execution and post-execution. During execution, we ensure that all and only all blocks that are output from one ecall are input to the next ecall. Post execution, we verify that blocks were shuffled properly and that the correct sequence of ecalls was executed based on the generated DAG.
This implementation of integrity does not yet support operating on Dataframes with different numbers of partitions. As a result, the "join with different numbers of partitions (#34)" test has been commented out for now.
For more general purposes, this PR also adds support for a crypto HMAC function, and adds a mechanism, an enclave singleton, to store state during the lifetime of an enclave (though this PR only uses this mechanism stores state for the duration of an ecall).

Changing to draft for now. I'm doing some refactoring and improving code style.


feature(tokens): Added theming to UI tokens pt1

This is the first batch of UI tokens updates, so they can support theming

 When I try to run this locally I get the following error from StyleDictionary

https://github.com/MyPureCloud/genesys-spark/blob/d8c7ba91f76a7f1065de5fc5a1038c25fa85d4f2/packages/genesys-spark-tokens/data/semantic/global.json#L432
Seems to be there, let me take a closer look 👀

 When I try to run this locally I get the following error from StyleDictionary

https://github.com/MyPureCloud/genesys-spark/blob/d8c7ba91f76a7f1065de5fc5a1038c25fa85d4f2/packages/genesys-spark-tokens/data/semantic/global.json#L432
Seems to be there, let me take a closer look 👀

Ok, so it seems the issue is caused because there's also a focus token on the UI/forms_and_inputs set also, I changed the one we added to focus_outline to fix our issue.
With that fix it looks that flare-light is built with no issues

But then it throws a whole lot of other errors I'm assuming is trying to build dark mode but since we don't have dark mode tokens then this happens. Is that correct @daragh-king-genesys ?

 When I try to run this locally I get the following error from StyleDictionary

https://github.com/MyPureCloud/genesys-spark/blob/d8c7ba91f76a7f1065de5fc5a1038c25fa85d4f2/packages/genesys-spark-tokens/data/semantic/global.json#L432
Seems to be there, let me take a closer look 👀

Ok, so it seems the issue is caused because there's also a focus token on the UI/forms_and_inputs set also, I changed the one we added to focus_outline to fix our issue.
With that fix it looks that flare-light is built with no issues

But then it throws a whole lot of other errors I'm assuming is trying to build dark mode but since we don't have dark mode tokens then this happens. Is that correct @daragh-king-genesys ?

@321gillian @daragh-king-genesys Yep, that was the issue, references were fixed and it should build now :)
cc. @JackieYada


Support inserting Content Documents

Idea
We want to insert files as part of our storytelling data.  This task supports this by:

Specifying a path to the file.   This is inserted as a new ContentVersion, and we query the ContentDocumentId.
To link records to the new ContentDocument, specify a list of queries where are records have a corresponding ContentDocumentLink record created with share_type and visibility.

share_type and visibility have default values.
Creating ContentDocumentLink records is skipped if no queries are given or no records returned.

This task was architected to be extended.  e.g. upload_user_profile_photo also has to insert a ContentDocument but has a different linking method.  upload_user_profile_photo could be refactored to extend InsertContentDocument.

Critical Changes
Changes
Issues Closed

Closing since it's been more than a year since the last activity. Feel free to re-open as needed.


New slack config option for username sender

Hi!
May we have a config key in Slack configuration array to use or not the previous configuration for the user sender instead of using the site name with an alert icon?
For example, in my case, I've configured an username with a customized icon for my token:

But I'm receiving new messages as:

The configuration could be:
/**
 * Slack
 *
 * Fill in to enable Slack integration.
 */
$config['slack'] = [
    /**
     * A webhook url to push Alerts to.
     * See https://api.slack.com/incoming-webhooks for details.
     */
    'webhook_url' => null,
    'override_username' => true // default value as true for avoiding backward compatible problems
];

What do you think about? I can send a PR with this. :)

Sounds reasonable! I can take a stab at this.

Implemented support for username and icon_emoji.

I've tested your implementation and everything works properly.
Thank you @kiwiz!


Fix cron and init

Init:
Trim and quote password
Always run init, so that earlier run failures wouldn't cause issues here
Cron:
MAILTO can never be completely empty, this would cause "bad minute"
Append to logfile instead of overwriting logfile
Could we have a new release after this? Especially the init thing could mean possible data loss for users.

Seems like molecule doesn't like this change and says that it is not idempotent, more: https://travis-ci.org/paulfantom/ansible-restic/jobs/469512313#L1259.


pgsync container getting exit due to invalid schema.json

PGSync version:  latest
Postgres version: 16
Elasticsearch/OpenSearch version: 2.17.1
Redis version: 7.4.0
Python version: 3.10.12
Problem Description: i am creating a setup on my machine locally , and i have made the containers of PGSync, opensearch, redis, postgres under the same network and updated the runserver.sh file acc to my hostand host ports but my pgsync container is getting exited again and again showing the logs that schema.json not valid where i have made it validate from different online jason validator sites
Error Message (if any):
wait-for-it.sh: waiting 60 seconds for strapiDB:5432
wait-for-it.sh: strapiDB:5432 is available after 0 seconds
PostgreSQL is up
wait-for-it.sh: waiting 60 seconds for <IP_ADDRESS>:9400
wait-for-it.sh: <IP_ADDRESS>:9400 is available after 0 seconds
OpenSearch is up
wait-for-it.sh: waiting 60 seconds for redis:6379
wait-for-it.sh: redis:6379 is available after 0 seconds
Redis is up
Error: ./schema.json is not valid JSON. Exiting.
wait-for-it.sh: waiting 60 seconds for strapiDB:5432
wait-for-it.sh: strapiDB:5432 is available after 0 seconds
PostgreSQL is up
wait-for-it.sh: waiting 60 seconds for <IP_ADDRESS>:9400
wait-for-it.sh: <IP_ADDRESS>:9400 is available after 0 seconds
OpenSearch is up
wait-for-it.sh: waiting 60 seconds for redis:6379
wait-for-it.sh: redis:6379 is available after 0 seconds
Redis is up
Error: ./schema.json is not valid JSON. Exiting.
I am providing the commands that i used till yet for the setup.
Setup:
Go to the github repository of PGSync and download the files of pgsync for reference.
Run the following commands to setup Strapi, Postgres, PGSync, Opensearch, Redis:
Commands :
Create Network for the container for easy communication
$ sudo docker network create Strapi
Create Strapi container
$ sudo docker run -d
--name strapi
--network Strapi
-p 1337:1337
-e HOST=<IP_ADDRESS>
-e PORT=1337
-e APP_KEYS=8a45kNmvx0DsPv5CrdJH595+1Snn444SqEuq3mTQ844=,X8U6WyFa2kC+2P+I79F2QSy82xGG+HwirI5iF6wXYZk=
-e API_TOKEN_SALT=AbsqpmZ171iyl9394ZbYCg==
-e ADMIN_JWT_SECRET=4UXCd43bus3S0vwbEIa4sA==
-e TRANSFER_TOKEN_SALT=suRgGs3Kpn4+3POvtwsIFQ==
-e DATABASE_CLIENT=postgres
-e DATABASE_HOST=strapiDB
-e DATABASE_PORT=5432
-e DATABASE_NAME=npi
-e DATABASE_USERNAME=pgsync
-e DATABASE_PASSWORD=redhat
-e DATABASE_SSL=false
-e DATABASE_FILENAME=.tmp/data.db
-e JWT_SECRET=PJi80mJC2xfK6qRH81dSyg==
-e NODE_ENV=production
-v /home/hriritk/strapi/my-project/package.json:/opt/package.json:rw
-v /home/hriritk/strapi/my-project/config:/opt/app/config:rw
-v /home/hriritk/strapi/my-project/src:/opt/app/src:rw
-v /home/hriritk/strapi/my-project/public/uploads:/opt/app/public/uploads:rw
-v /home/hriritk/strapi/my-project/yarn.lock:/opt/yarn.lock:rw
-w /opt/app
strapi:latest
yarn develop
Create Postgres container
$ docker run -d
--name strapiDB
--network Strapi
--hostname postgres
-p 5432:5432
-v /home/hriritk/strapi/postgres-data:/var/lib/postgresql/data:rw
-e POSTGRES_USER=pgsync
-e POSTGRES_PASSWORD=redhat
-e POSTGRES_DB=npi
Postgres:latest
Create container of Redis
$ sudo docker run -d
--name redis
--network Strapi
redis
redis-server --requirepass redhat
Create container of Opensearch
$ sudo docker run -d
--name opensearch
--network Strapi
-p 9400:9200 -p 9600:9600
-e discovery.type=single-node
-e bootstrap.memory_lock=true
-e DISABLE_INSTALL_DEMO_CONFIG=true
-e DISABLE_SECURITY_PLUGIN=true
opensearchproject/opensearch:latest
Create container of PGSync
Create Dockerfile for the image of PGSync
Base image
FROM python:3.9
Define the working directory
ARG WORKDIR=/code
RUN mkdir -p $WORKDIR
WORKDIR $WORKDIR
Install PGSync from the GitHub repository
RUN pip install git+https://github.com/toluaina/pgsync.git
Copy the wait-for-it script (for waiting on dependencies like PostgreSQL)
COPY ./wait-for-it.sh wait-for-it.sh
COPY ./schema.json schema.json
Make sure the wait-for-it script is executable
RUN chmod +x wait-for-it.sh
Add the runserver script (your custom script to start the pgsync server)
COPY ./runserver.sh runserver.sh
Make sure the runserver script is executable
RUN chmod +x runserver.sh
Expose any required ports (if applicable)
EXPOSE 5000
Command to run the server script (it will wait for PostgreSQL and OpenSearch)
CMD ["./runserver.sh"]
Before building the image of PGSync we need to make 2 scripts for pgsync container that are going to be copied in the container of postgresql
Runserver.sh
$ vim runserver.sh
#!/bin/sh
#set -u
Wait for PostgreSQL to be ready
#./wait-for-it.sh strapiDB:5432 -t 60 --strict -- echo "PostgreSQL is up"
Wait for OpenSearch to be ready
#./wait-for-it.sh <IP_ADDRESS>:9400 -t 60 --strict -- echo "OpenSearch is up"
Wait for Redis to be ready
#./wait-for-it.sh my-project_redis_1:6379 -t 60 --strict -- echo "Redis is up"
Define the configuration file path for pgsync
#CONFIG_FILE="./schema.json"
#./schema.json
Run schema setup or any other initialization (if needed)
Ensure your schema setup is already handled. If not, include commands here.
If schema files like schema.py or schema.json are not relevant, these can be omitted.
Run PGSync with the configuration file
#pgsync --config $CONFIG_FILE --daemon
Optional: Any other bootstrap tasks or custom logic can be added here.
#!/bin/sh
#!/bin/sh
set -u
Wait for PostgreSQL to be ready
./wait-for-it.sh strapiDB:5432 -t 60 --strict -- echo "PostgreSQL is up"
Wait for OpenSearch to be ready
./wait-for-it.sh <IP_ADDRESS>:9400 -t 60 --strict -- echo "OpenSearch is up"
Wait for Redis to be ready
./wait-for-it.sh my-project_redis_1:6379 -t 60 --strict -- echo "Redis is up"
Define the configuration file path for pgsync
CONFIG_FILE="./schema.json"
Check if the schema.json file exists
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: $CONFIG_FILE not found. Exiting."
exit 1
fi
Validate schema.json is valid JSON format
if ! jq empty "$CONFIG_FILE" > /dev/null 2>&1; then
echo "Error: $CONFIG_FILE is not valid JSON. Exiting."
exit 1
fi
Run PGSync with the configuration file
pgsync --config "$CONFIG_FILE" --daemon
Optional: Any other bootstrap tasks or custom logic can be added here.
wait-for-it.sh
$ vim wait-for-it.sh
#!/usr/bin/env bash
Use this script to test if a given TCP host/port are available
cmdname=$(basename $0)
echoerr() { if [[ $QUIET -ne 1 ]]; then echo "$@" 1>&2; fi }
usage()
{
cat << USAGE >&2
Usage:
$cmdname host:port [-s] [-t timeout] [-- command args]
-h HOST | --host=HOST       Host or IP under test
-p PORT | --port=PORT       TCP port under test
Alternatively, you specify the host and port as host:port
-s | --strict               Only execute subcommand if the test succeeds
-q | --quiet                Don't output any status messages
-t TIMEOUT | --timeout=TIMEOUT
Timeout in seconds, zero for no timeout
-- COMMAND ARGS             Execute command with args after the test finishes
USAGE
exit 1
}
wait_for()
{
if [[ $TIMEOUT -gt 0 ]]; then
echoerr "$cmdname: waiting $TIMEOUT seconds for $HOST:$PORT"
else
echoerr "$cmdname: waiting for $HOST:$PORT without a timeout"
fi
start_ts=$(date +%s)
while :
do
if [[ $ISBUSY -eq 1 ]]; then
nc -z $HOST $PORT
result=$?
else
(echo > /dev/tcp/$HOST/$PORT) >/dev/null 2>&1
result=$?
fi
if [[ $result -eq 0 ]]; then
end_ts=$(date +%s)
echoerr "$cmdname: $HOST:$PORT is available after $((end_ts - start_ts)) seconds"
break
fi
sleep 1
done
return $result
}
wait_for_wrapper()
{
if [[ $QUIET -eq 1 ]]; then
timeout $BUSYTIMEFLAG $TIMEOUT $0 --quiet --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
else
timeout $BUSYTIMEFLAG $TIMEOUT $0 --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
fi
PID=$!
trap "kill -INT -$PID" INT
wait $PID
RESULT=$?
if [[ $RESULT -ne 0 ]]; then
echoerr "$cmdname: timeout occurred after waiting $TIMEOUT seconds for $HOST:$PORT"
fi
return $RESULT
}
process arguments
while [[ $# -gt 0 ]]
do
case "$1" in
: )
hostport=(${1//:/ })
HOST=${hostport[0]}
PORT=${hostport[1]}
shift 1
;;
--child)
CHILD=1
shift 1
;;
-q | --quiet)
QUIET=1
shift 1
;;
-s | --strict)
STRICT=1
shift 1
;;
-h)
HOST="$2"
if [[ $HOST == "" ]]; then break; fi
shift 2
;;
--host=)
HOST="${1#=}"
shift 1
;;
-p)
PORT="$2"
if [[ $PORT == "" ]]; then break; fi
shift 2
;;
--port=)
PORT="${1#=}"
shift 1
;;
-t)
TIMEOUT="$2"
if [[ $TIMEOUT == "" ]]; then break; fi
shift 2
;;
--timeout=)
TIMEOUT="${1#=}"
shift 1
;;
--)
shift
CLI=("$@")
break
;;
--help)
usage
;;
*)
echoerr "Unknown argument: $1"
usage
;;
esac
done
if [[ "$HOST" == "" || "$PORT" == "" ]]; then
echoerr "Error: you need to provide a host and port to test."
usage
fi
TIMEOUT=${TIMEOUT:-15}
STRICT=${STRICT:-0}
CHILD=${CHILD:-0}
QUIET=${QUIET:-0}
check to see if timeout is from busybox?
TIMEOUT_PATH=$(realpath $(which timeout))
if [[ $TIMEOUT_PATH =~ "busybox" ]]; then
ISBUSY=1
BUSYTIMEFLAG="-t"
else
ISBUSY=0
BUSYTIMEFLAG=""
fi
if [[ $CHILD -gt 0 ]]; then
wait_for
RESULT=$?
exit $RESULT
else
if [[ $TIMEOUT -gt 0 ]]; then
wait_for_wrapper
RESULT=$?
else
wait_for
RESULT=$?
fi
fi
if [[ $CLI != "" ]]; then
if [[ $RESULT -ne 0 && $STRICT -eq 1 ]]; then
echoerr "$cmdname: strict mode, refusing to execute subprocess"
exit $RESULT
fi
exec "${CLI[@]}"
else
exit $RESULT
fi
Create schema.json in the same directory that dockerfile is going to copy it in the container
$ vim schema.json
[
{
"database": "npi",
"index": "calendar_holidays_index",
"nodes": {
"table": "calendar_holidays",
"schema": "public",
"columns": [
"id",
"review_email",
"alias",
"title",
"date",
"holiday_type",
"review",
"created_at",
"updated_at",
"published_at",
"created_by_id",
"updated_by_id",
"day",
"keywords",
"calendar_year",
"weight"
],
"indexes": [
{
"name": "calendar_holidays_pkey",
"columns": ["id"],
"type": "btree",
"primary": true
},
{
"name": "calendar_holidays_created_by_id_fk",
"columns": ["created_by_id"],
"type": "btree"
},
{
"name": "calendar_holidays_updated_by_id_fk",
"columns": ["updated_by_id"],
"type": "btree"
}
],
"children": []
}
}
]
Built the image of PGSync
$ sudo docker built -t pgsync-image .
Create the container of pgsync using the image we created
$ sudo docker run -d
--name pgsync
--network Strapi
--sysctl net.ipv4.tcp_keepalive_time=200
--sysctl net.ipv4.tcp_keepalive_intvl=200
--sysctl net.ipv4.tcp_keepalive_probes=5
-e PG_USER=pgsync
-e PG_HOST=strapiDB
-e PG_PORT=5432
-e PG_PASSWORD=redhat
-e LOG_LEVEL=INFO
-e ELASTICSEARCH_PORT=9400
-e ELASTICSEARCH_SCHEME=http
-e ELASTICSEARCH_HOST=opensearch
-e REDIS_HOST=redis
-e REDIS_PORT=6379
-e REDIS_AUTH=redhat
-e OPENSEARCH=true
-p 5000:5000
pgsync-image ./runserver.sh
After creating the containers go into the Postgresql Container and navigate to the Postgres.conf file and make some changes in the file.
$ sudo docker exec -it StrapiDB /bin/bash
$ cd /var/lib/postgres/
$ vim postgres.config
Enable logical decoding in postgres.conf
wal_level = logical
Ensure there is at least one replication slot defined in postgres.conf
max_replication_slots = 1
Add pgdump into the postgres for syncing data
Download the all_data.sql dump file into your machine
Import that dump file to postgres container
$ docker cp /home/hriritk/Downloads/alldata.sql strapiDB:/alldata.sql
Restore the alldata dump to the npi database: After copying the file
$ docker exec -it strapiDB psql -U pgsync -d npi -f /all_data.sql
Move the calender_holidays table from strapi_test to npi: First, dump the calender_holidays table from the strapi_test database:
$ docker exec -it strapiDB pg_dump -U pgsync -d strapi_test -t calender_holidays > calender_holidays.sql
Then, restore it into the npi database:
$ docker exec -i strapiDB psql -U pgsync -d npi < calender_holidays.sql
*** facing an error in creating a pgsync container as it is getting exited again and again due to invalid schema.json. ****

Please help as this is a very urgent requirement !!!

updated error :
wait-for-it.sh: waiting 60 seconds for strapiDB:5432
wait-for-it.sh: strapiDB:5432 is available after 0 seconds
PostgreSQL is up
wait-for-it.sh: waiting 120 seconds for <IP_ADDRESS>:9400
wait-for-it.sh: <IP_ADDRESS>:9400 is available after 0 seconds
OpenSearch is up
wait-for-it.sh: waiting 60 seconds for redis:6379
wait-for-it.sh: redis:6379 is available after 0 seconds
Redis is up
2024-10-14 06:14:57.487:WARNING:opensearch: HEAD http://opensearch:9400/calendar_holidays [status:N/A request:0.001s]
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
conn = connection.create_connection(
File "/usr/local/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
raise err
File "/usr/local/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

sorry about the delay. Just in case this hasn't been resolved.
Can you use the opensearch docker file as a starting point?
It seems to me your setup is not allowing connections to OpenSearch.


can anyone give me example app for ionic3 working fcm?

I sent whole 3days to do fcm with target sdk 31.
but with no luck.
can anyone give me repo that I can refer to? (if it is basic example app, I would appreciate it very much. I can buy some coffee as a token of gratitude)

		this.platform.ready().then(() => { 			if(this.platform.is('mobile')){ 				console.log('*** Init push notifications') 				FCM.onNotification().subscribe((notif) => { 					this.messageService.showAlert(notif.title, notif.body); 				}); 			})


Consider bundling helm-ls

It would be preferable for me to have the extension come bundled with the language server. This would make it easier to have a helm development environment defined purely within the vscode config files. Currently making a portable helm "ide" requires using a devcontainer with helm-ls installed.

I already thought about this, but was not 100% sure how to approach it.
Bundling binaries for multiple architectures would make the extension quite large.
Otherwise you could have the extension download the binary on startup.
Feel free to look into it (maybe we can just find some other extension and copy their solution).

Just went on a deep dive of how the go extension solves this and it is by downloading the go tools upon activation.
https://github.com/golang/vscode-go/blob/master/extension/src/goMain.ts#L119-L120
However they did run in to some issues regarding antivirus detection of dynamically downloaded executables and from the look of things they ended up bundling the tools into the extension (https://github.com/golang/vscode-go/issues/3186)


Appstudio update test-pac-component-hello-world

Pipelines as Code configuration proposal

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
16 seconds
sast-snyk-check

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
16 seconds
sast-snyk-check

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
16 seconds
sast-snyk-check

❌ Failed
23 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
9 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
18 seconds
sast-snyk-check

✅ Succeeded
38 seconds
build-container

✅ Succeeded
11 seconds
sast-go

🏃 Running
---
sanity-inspect-image

✅ Succeeded
11 seconds
get-clair-results

🏃 Running
---
sast-java-sec-check

🏃 Running
---
clamav-scan

---
---
conftest-clair

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
9 seconds
clone-repository

✅ Succeeded
18 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
38 seconds
build-container

✅ Succeeded
11 seconds
sast-go

✅ Succeeded
11 seconds
get-clair-results

🏃 Running
---
sanity-inspect-image

🏃 Running
---
sast-java-sec-check

🏃 Running
---
clamav-scan

---
---
conftest-clair

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
8 seconds
appstudio-init

✅ Succeeded
9 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
18 seconds
sast-snyk-check

✅ Succeeded
38 seconds
build-container

✅ Succeeded
11 seconds
sast-go

✅ Succeeded
14 seconds
sanity-inspect-image

✅ Succeeded
11 seconds
get-clair-results

🏃 Running
---
clamav-scan

✅ Succeeded
12 seconds
sast-java-sec-check

🏃 Running
---
conftest-clair

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
9 seconds
appstudio-init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
18 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

❌ Failed
25 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
9 seconds
appstudio-init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
18 seconds
sast-snyk-check

❌ Failed
25 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
9 seconds
appstudio-init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
18 seconds
sast-snyk-check

❌ Failed
25 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
9 seconds
appstudio-init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
16 seconds
appstudio-configure-build

✅ Succeeded
18 seconds
sast-snyk-check

❌ Failed
25 seconds
build-container

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-pac-component-hello-world-on-pull-request has failed.

StatusDurationName

✅ Succeeded
9 seconds
appstudio-init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
18 seconds
sast-snyk-check

✅ Succeeded
16 seconds
appstudio-configure-build

❌ Failed
25 seconds
build-container

✅ Succeeded
7 seconds
show-summary


Common Workflow for Linking Library to "Sandbox" Environment

Current Behavior
What's the recommended workflow for linking to the local code before publishing?  As a form of testing primarily (not to replace automated tests but to try out new feautres).  I can do npm link library-name but then VSCode seems to forget that every time I rebuild the code, and I have to restart the TS server in order for linting to not complain.  Granted this last part may be a VS Code problem but that's probably a significant amount of people using TSDX.
Additionally, even with npm link there are caveats to having the same react library in two places, so you have to include aliases in your example package.json like so:
  "alias": {
    "react": "../node_modules/react",
    "react-dom": "../node_modules/react-dom/profiling"
  },

Otherwise you will probably get a React hook error, as React doesn't let you have two different versions at the same time.
Desired Behavior
Would be great if the recommended workflow for having an example/sandbox as part of a library would be included in the main documentation.
Suggested Solution
Using yarn link or npm link seems to be an OK solution although I'm hoping others have found a better one that works.
Who does this impact? Who is this for?
All users who want to include an example/sandbox in their library.

Not quite TSDX specific, but relevant question.
For React libraries the React template already has an example directory and it just has  import { mylib } from './' which will pull from package.json.main, i.e. dist/.
I think that's the optimal method for that, no need to link anything.
There are also packages like yalc and relative-deps among others to simplify linking, but they're mostly for monorepos or multiple repos. An example isn't normally a separate repo though

Not quite TSDX specific, but relevant question.
For React libraries the React template already has an example directory and it just has import { mylib } from './' which will pull from package.json.main, i.e. dist/.
I think that's the optimal method for that, no need to link anything.
There are also tools like yalc and relative-deps among others to simplify linking, but they're mostly for monorepos or multiple repos. An example isn't normally a separate repo though

Doesn't importing from dist require you to build every time though?

Correct. Not ideal for large projects but sometimes desired none the less

So the suggested workflow is to import like @agilgur5 suggested + running npm run watch in a separate terminal, and not using something like yalc or npm link like I have been?  Should this be included in the React template README?  I can submit a PR if you think that's a good idea.

Doesn't importing from dist require you to build every time though?

If you're changing your source code, yes. But dist is built code, if you're only iterating on the example you won't need to re-build src.

Should this be included in the React template README?

It's already in it: https://github.com/formium/tsdx/tree/master/templates/react#commands

The recommended workflow is to run TSDX in one terminal [...]
Then run the example inside another


Propose those ClusterCommands Like mget, del(key...) To Use Partitions Instead Of SlotHash

Feature Request
Propose those ClusterCommands like mget, del(key...) to use partitions instead of slotHash.
Because , using SlotHash may be visiting the same clusterNode more than once. This is not necessary.

redis required


Gate API: Create Output Endpoint for Generic Business Partner

As a sharing member, after I have shared a business partner for which I'm not sure about the business partner type, I want to have an endpoint to query its cleaned output data.
Acceptance Criteria:
Gate API endpoint exists that offers cleaned business partner data in a generic way. Contains next to the clean data, the BPNs to which Address, Site and Legal Entity this generic business partner belongs to in the Pool. Also returns information whether the generic business partner constitutes a legal address or site main address.

Open-Api snippet
Redoc Rendering
Edit:
Links to generic business partner model #382

@nicoprow Is the city in physical / alternative address mandatory?
In the LSA model it was mandatory, in the new Redoc it's optional. Is this correct?


Create Salt Knowledge share backlog

Create the Salt Knowledge share content list
and provide a format for team to follow

20-21 Aug - Created FigJam and confluence page, shared and discussed with design team in FigGym

To think about how to promote the content - where do we put those content
Content strategy planning more holistically, and to prioritise content
Create a channel
Set up a regular meeting invite with everyone (including devs as tech part is also important)

Started a higher level planner and had initial discussions with the team @bhoppers2008 @ivan-calderon @honey-chang, @navkaur76 @amritadesmet.
Scheduled a series Salt Knowledge Share brainstorming session for further brainstorming, planning and discussion.
If creating a channel to be discussed cc @joshwooding.


fix two broken links to jinja functions doc

Description & motivation
A user reached out pointing out that a link referenced in the FAQS section of the Jinja and Macros doc returned a 404 error. Specifically, the link is found under the following two FAQS:
What parts of Jinja are dbt-specific?
Which docs should I use when writing Jinja or creating a macro?
While you can navigate to https://docs.getdbt.com/reference/dbt-jinja-functions by directly pasting it into your web browser URL, this link cannot be referenced in the above docs, as it's not an actual web page. To fix this, I updated the link to point specifically to https://docs.getdbt.com/reference/dbt-jinja-functions/adapter

I took care of this #1495


Default date field casts are ignored

Readable / writable type for Laravels default date columns ignores any model casts.
Can be replicated by casting updated_at, created_at or deleted_at; you will notice larastan does not respect the cast.
Our specific use case is to return an array of formatted dates, larastan still expects the return type to be of Carbon|null.
I can create a PR for this issue that would first respect the cast and fallback to the default date format, if this is something that may be approved?
Many thanks,

Hello @john-dent 👋🏻
Thank you for your report and offer.

Our specific use case is to return an array of formatted dates

Could you show us in code how you do that?

Could you show us in code how you do that?

Sure, something along the lines of the following in a custom cast:
    public function get($model, $key, $value, $attributes)
    {
        return [
            'raw' => $value ?? null,
            'formatted' => $value?->format('jS M Y G:i'),
            'ago' => $value?->diffForHumans(),
        ];
    }

@szepeviktor
Specific issue appears to be in /src/Properties /ModelPropertyExtension.php Lines 151-154, I think offhand a suitable fix would be as easy as swapping the first condition with the 2nd in this statement..


Eliminate transition effects from thumbnail loader

During A/B testing we found a significant preference (increased engagement
time, reduced downloads of original PDF for local viewing) for the version that
doesn't animate loading thumbnails.
Profiling shows that the transition effects hit at a pessimal time when the
compositor is busy rendering the main PDF page view, and rendering thumbnail
previews, causing the main scroll view to stutter. With the transition removed
scrolling is perceptibly smoother in Chrome and Firefox. We also hypothesize
that the transition effects added to a perception of slowness but presumably
the aforementioned stutter is the primary issue here.

/botio-linux preview

Do you have a PDF where the effect is clearly visible according to you? I also don't see the use of the transition effects, but having them removed I don't notice any change in scrolling behavior either. Perhaps it's not clearly visible with the Tracemonkey paper.

I tend to agree with the change, scrolling documents goes down below 30 fps often, which means that this transition usually is active for only 2-3 frames. which is hard different from turn on and off. so there is unnecessary work for the browser to render which you won't see.

The UI stutter happens when scrolling through more complex PDFs (containing scaled graphics etc.) so won't be exhibited by the Tracemonkey document.
I can dig up an example when I'm back in the office Monday but scrolling fast through any graphics-heavy PDF should highlight the issue.
We initially thought the slowdown was due to our Retina patch from #6025 (where the stutter is more pronounced) but it turned out the culprit was the thumbnail transition.

thanks @mcorb


Env variables during S3 upload not being applied

User reported with the VPK_SECRET env variable set they got this error:
[15:43:07 ERR] Value cannot be null. (Parameter 'awsSecretAccessKey'), retrying in 1 second.

not an issue


updated line width and bisector calculations

Now they return nan when undefined and find line minima more reliably

Codecov Report

Merging #1 into main will decrease coverage by 0.28%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main       #1      +/-   ##
==========================================
- Coverage   32.91%   32.62%   -0.29%
==========================================
  Files          18       18
  Lines         796      803       +7
==========================================
  Hits          262      262
- Misses        534      541       +7

Impacted Files
Coverage Δ

src/util/physics.jl
6.41% <0.00%> (-0.64%)
: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 cdd2490...f3b1e70. Read the comment docs.

Would you be up for adding a few tests for these routines?  (It's ok if that comes as a separate PR.)


Fix CODEOWNERS to unblock PR approvals

Changes
As per title, so that more people can approve stuff.

/lgtm
/approve


Cannot connect to aria2 Webui when aria2 is connected to VPN

I have aria2 installed on NAS connected via USB to Asus router with Merlin firmware. Aria2 is installed through debian through hqt-guide.
I have a VPN client on my router and would like aria2 to download through that VPN (tun11). I noticed that I should be able to use the advance option interface and specify either ipadress or tunXX. When downloading with aria2 through putty and typing "--interface=tun11" it works.
For some reason when I type interface=tun11 in the aria2.conf file and try to connect to aria2 Webui, I can not connect to the Webui. It says cannot connect to aria2 RPC server.
Is there a way to connect to aria2 Sebui with interface=tun11 in aria2.conf file?
Do I need to adjust anything in the configuration.js file?

I would suggest you ask at aria2/aria2.

Aha. Wrong place. Thanks.


Bump CI Android Versions

As discussed a new wiki page has been populated with versions of android build dependencies which work for myself https://github.com/KhronosGroup/Vulkan-Samples/wiki/Known-Issues#android-studio-build-failures. If we need to change these versions then this is the issue to discuss this further.
Once we have agreed that these versions are currently the latest supported I will bump the versions in our docker image. Its worth noting that the build is successful for an S21 target, I do not have other devices to find failures in different SDK versions.
@SaschaWillems thoughts on the new wiki page and stated supported versions? Do you use any which are newer and also build?

The wiki page looks good. I slightly updated it, and also added a note on the broken CMake 3.18.1 version included with the Android SDK.


Load files without .hs extension to repl

For example, If I'm using stack's script functionality then I'd like to omit the .hs extension from my scripts. But then intero refuses to load my scripts to ghci. Would be nice if this limitation was lifted.

Duplicates https://github.com/commercialhaskell/intero/issues/80, which is also unsolved.

Yep, closing as duplicate of #80.


Documentation/Example for Vite and ReactRouter

Summary
The toolpad website mentions it supports Vite, but all examples use Next. Also, the create-toolpad-app tool only support Next. I couldn't find any examples of using plain Vite and ReactRouter (or another routing library).
Is the integration with Vite mature and where can I find examples?
Examples
No response
Motivation
No response
Search keywords: Vite ReactRouter

TODO:

Add example with React Router
Support Vite starter in create-toolpad-app
Add Vite project playground for development

Support for a Vite starter in create-toolpad-app will be worked on as a separate issue and planned for v0.9.0: https://github.com/mui/toolpad/issues/4235
React Router integration guide and Vite examples will be added in https://github.com/mui/toolpad/pull/4185, planned for v0.8.0.


Close file handle after each write

refs #1862, refs #1860, refs #1634

Thank you for making this fix, happy to share it's working for us. We deployed this fix to production today and its resolved hangups we were seeing on fwrite() leading to requests taking 10+ seconds.

Hello @Seldaek
as it was found on version 2.x, couldn't it be released  on version 2.x? this way we could still have this issue solved on php 8.0 and 8.2, and make a smooth php upgrade :)

There is https://github.com/Seldaek/monolog/pull/1882 for 2.x, but the problem is nobody has confirmed this fixes anything for them so far, so I'd rather not merge this for nothing as it does introduce overhead for everyone.

Unfortunately we have the same error despite the change.

For reference this is how we applied the workaround directly without needing upstream changes. The project in question is on monolog 1.
class ClosingStreamHandler extends StreamHandler
{
    protected function streamWrite($stream, array $record)
    {
        parent::streamWrite($stream, $record);

        // https://github.com/Seldaek/monolog/pull/1883
        parent::close();
    }
}

I have to correct myself. Unfortunately, we have the error twice in our system. Once through monolog and once via symfony/process.
I can confirm that the fix here fixes the monolog case.
Thank you for the work and @ivanmartinvalle for the information that helped me understand our case.

Looking at this again, I don't think I want to merge as is.. Maybe it would be ok if we can detect the fwrite failure and reopen the file then, instead of closing every time. That'd have less impact on users that are not affected by the problem.

See https://github.com/Seldaek/monolog/pull/1882 for the new version of the patch with the retry, I think that should help still, and I'm a lot more comfortable merging this.

Closing in favor of https://github.com/Seldaek/monolog/pull/1882 which is now merged in 2.x-dev and 3.x-dev


replacing single quotes with double quotes in s3api ls sed replace

With more than one .pub in the s3 bucket, the given sed line does not replace the tab with a newline using single quotes. Changing to double quotes fixed this problem for me.

This fix still fails sometimes as the spacing between keys returns from S3 API after the --query are not uniform. This works better for me
sed -E -e 's/[[:blank:]]+/\n/g'

@zollie yeah I noticed, currently using:
aws s3api list-objects --bucket hj-bastion-bucket --prefix public-keys/ --region eu-central-1 --output text --query 'Contents[?Size>0].Key' | xargs | tr ' ' '\n'>  ~/keys_retrieved_from_s3


Only allow access selection if collection is depositor-selects

Why was this change made?
Fixes #697 by removing the selection list if the collection has an access right set other than depositor-selects.
When stanford:

How was this change tested?
TBD
Which documentation and/or configurations were updated?
N/A

@aaron-collier there's a conflict to resolve here.

@aaron-collier there's a conflict to resolve here.


Docker registry authentication required?

Latest HEAD.
Sending build context to Docker daemon  1.232MB
Step 1/10 : FROM python:2.7-slim
Get https://registry-1.docker.io/v2/: dial tcp <IP_ADDRESS>:443: getsockopt: connection refused

If I try to open https://registry-1.docker.io/v2/ in my browser, I get authentication required. Is the base image from some private repo?

DNS issue on pi


cmd/compile: don't allocate when putting constant strings in an interface

fmt.Println("abc") allocates when it converts "abc" into an interface. It should not.
When the compiler sees a constant string being converted into an interface (usually at a call site?), it could create a static interface value to use, rather than allocating it at runtime.
That is, do the following conversion automatically:
var abc interface{} = "ABC"

func BenchmarkPrintln(b *testing.B) {
	b.Run("regular", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			fmt.Fprintln(ioutil.Discard, "ABC")
		}
	})
	b.Run("prealloc", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			fmt.Fprintln(ioutil.Discard, abc)
		}
	})
}

This might not be as bad for binary size as it initially appears; it might even be an improvement. The cost of the runtime conversion call is probably about as large as the two additional words of static data plus symbol overhead. (And that symbol overhead could be removed if necessary, as we did for strings.)
See also #17725 and the golang-dev thread about logging that insired this.
cc @randall77 @mdempsky @bradfitz

Oh, and for those that are curious:
BenchmarkPrintln/regular-8         	20000000	        86.6 ns/op	      16 B/op	       1 allocs/op
BenchmarkPrintln/prealloc-8        	30000000	        51.1 ns/op	       0 B/op	       0 allocs/op

The regular function is 235 bytes of code. Prealloc is 188 bytes of code.
So prealloc is probably a net binary size improvement.

Might even be worth doing this for all static data, including ints, floats, etc.

Threw together a prototype for strings only. Not ready to be mailed; lots of sinit.go needs to be updated for better handling of interface values for a complete CL, and it's a fair amount of careful work. But it was enough to get some numbers to convince myself that this will help.   CL 35554


Integration Test - Release - 2018/08/15 14:45:45

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest3 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Docs: Use OpenJS Foundation logo in header

Pull request checklist
Make sure you:

[x] Signed the Contributor License Agreement
[x] Followed the commit message guidelines

Short description of the change(s)
Replaces the JS Foundation logo and link in the header with the OpenJS Foundation logo and link.

@sarvaje Is there an easy way we can spin up a staging version of the site with this change to see how it looks in context?

I don't know, but I can run it on my machine xD

I don't know, but I can run it on my machine xD

That works if you want to just take a screenshot and add it here. :)

IMO, it look a little bit weird, but I'm not a designer hehehe

Yeah that definitely looks weird because there’s stacked lettering, it’s not just a single line of text with an icon. I suggest we do the following:

rather than include the logo in the small banner at the top, just have “An Open JS Foundation Project” as text and make “Open JS Foundation” a link.

Include the Open JS Foundation logo elsewhere on the page. Maybe the footer?

I agree with @ststimac and as long as the logo is on the site, I don't think the foundation is too worried about where it lands as long as it's there and the project is happy with it. I will push changes shortly to address that request as well as remove the old logo and try shrinking the size of the svg file.

Sounds good.
Thanks @kborchers for opening the PR and taking care of the updates. We really appreciate it! 😊

I have added updates including:

moved the logo to the footer
positioned it under the social links but feel free to suggest a different position or positioning css if there is a better way as I am no expert with css
shrunk the svg file and included it inline in the footer to allow for text color changes with different color footer backgrounds
deleted both the old logo as well as the separate svg file for the new logo since it is inline now

This is how it looks now.

@kborchers thank you very much for the PR.
I'm going to push some changes to fix the responsiveness of the site. I also change some class names to fit a little bit better with the styles in the site.
Thank you very much!!

@sarvaje Any final updates you want to make or can I merge this?

@antross you can merge it :)


Mixing JSON API data with mocked fixture data

I tried to use a per-model LocalStorageAdapter to load in some fixture data so I can work on the client while the API development catches up.
The adapter for this model is below:
let RiskMatrixAdapter = EG.LocalStorageAdapter.extend({

	getInitialPayload: function() {
		return {
			riskMatrix: [{
				id: 0,
				project: 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9',
				riskLevelMatrix: 0,
				riskBands: []
			}]
		};
	}
});

export default RiskMatrixAdapter;

Nothing gets loaded into the store or localstorage.
Is there any way to use fixture data for server-less development with EG? The methods I found for Ember Data do not work (adding reopenClass in the model, and I'd have to use the ember data fixture adapter as well).

Can you not reopen the model itself like
export default DS.Model.extend({
  	name: DS.attr('String'),
	wins: DS.attr('Number'),
	losses: DS.attr('Number'),
	email: DS.attr('String')
}).reopenClass({
    FIXTURES: [
        {
            id: 1,
            name: "Dan Hamilton",
            wins: 7,
            losses: 6
        },
        {
            id: 2,
            name: "Joel Norman",
            wins: 2,
            losses: 10
        },
        {
            id: 3,
            name: "Nick Tippmann",
            wins: 15,
            losses: 5
        }
    ]

Correct, that doesn't seem to do anything that I can tell. I think the big issue is that the project object is NOT provided by fixture data. That could be the line that I can't reconcile when mixing fixture and non-fixture data.
import BaseModel from './base';

const RiskMatrix =  BaseModel.extend({

	project: EG.hasOne({
		relatedType: 'project',
		inverse: 'riskMatrix',
		readOnly: true
	}),

	riskLevelMatrix: EG.hasOne({
		relatedType: 'riskLevelMatrix',
		inverse: 'riskMatrix',
		isRequired: false
	}),

	riskBands: EG.hasMany({
		relatedType: 'riskBand',
		inverse: 'riskMatrix',
		isRequired: false
	})
});

RiskMatrix.reopenClass({
	FIXTURES: [
		{
			id: 0,
			project: 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9',
			riskLevelMatrix: 0,
			riskBands: []
		}
	]
});

export default RiskMatrix;

Each of several new models have this fixture data.
But for example, I cannot even issue a simple store.find('riskMatrix', 0) which I would think would get me this fixture; it results in a "A bad find call was made to the store" error.

Well the bad find call is because it looks like you tried to pass a number to the store as an ID. Ember Graph uses strings for IDs. There are a few places where numbers might work because of coercion, but 99% of the time it will complain about them (I hate weak typing).
As for data not being loaded, are you overriding the shouldInitializeDatabase hook? By default it always returns false. (The idea behind that hook is that you likely don't want to clear the local storage every time you refresh the page. It allows you to implement more advanced initialization logic.)

Also, I should mention that mixing data source should be fine. When a record (or set of records) is requested from the store, it does a lookup to determine which adapter needs to be used to get that data. Just make sure that the ID you use in the local storage data corresponds to an actual ID in the database.

Okay, so here's my model (I took out the reopenClass, it doesn't work either way):
import BaseModel from './base';

const RiskMatrix =  BaseModel.extend({

	project: EG.hasOne({
		relatedType: 'project',
		inverse: 'riskMatrix',
		readOnly: true,
		isRequired: false
	}),

	riskLevelMatrix: EG.hasOne({
		relatedType: 'riskLevelMatrix',
		inverse: 'riskMatrix',
		isRequired: false
	}),

	riskBands: EG.hasMany({
		relatedType: 'riskBand',
		inverse: 'riskMatrix',
		isRequired: false
	})
});

//RiskMatrix.reopenClass({
//	FIXTURES: [
//		{
//			id: '0',
//			project: 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9',
//			riskLevelMatrix: '0',
//			riskBands: []
//		}
//	]
//});

export default RiskMatrix;

Here is my adapter:
let RiskMatrixAdapter = EG.LocalStorageAdapter.extend({

	shouldInitializeDatabase: function () {
		return true;
	},

	getInitialPayload: function() {
		return {
			riskMatrix: [{
				id: '0',
				project: 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9',
				riskLevelMatrix: '0',
				riskBands: []
			}]
		};
	}
});

export default RiskMatrixAdapter;

And here in a controller, I'm just trying to get that one riskMatrix:
findRiskMatrix: function () {
		const riskMatrices = Session.store.find('riskMatrix', '0');
		console.log(riskMatrices);
	}.on('init'),

Here is the error I get, and the line it happens on:
TypeError: Cannot read property 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9' of undefined
at https://local.greenlight.guru:8000/lib/ember-graph/ember-graph.js:2672:36
at Array.forEach (native)
at EG.EmberGraphAdapter.reopen.validateDatabase (https://local.greenlight.guru:8000/lib/ember-graph/ember-graph.js:2667:11)
at EG.EmberGraphAdapter.reopen.convertAndVerifyPayload (https://local.greenlight.guru:8000/lib/ember-graph/ember-graph.js:2503:8)
at EG.EmberGraphAdapter.reopen.initializeDatabase (https://local.greenlight.guru:8000/lib/ember-graph/ember-graph.js:2482:18)
at apply (https://local.greenlight.guru:8000/lib/ember/ember.js:19671:32)
at superFunction [as _super] (https://local.greenlight.guru:8000/lib/ember/ember.js:16103:15)
at EG.LocalStorageAdapter.EG.EmberGraphAdapter.extend.initializeDatabase (https://local.greenlight.guru:8000/lib/ember-graph/ember-graph.js:2938:8)
at apply (https://local.greenlight.guru:8000/lib/ember/ember.js:19671:32)
at superWrapper [as initializeDatabase] (https://local.greenlight.guru:8000/lib/ember/ember.js:19245:15)
In validateDatabase function:
if (!db.records[relationship.t2][relationship.i2]) {
    throw new Em.Error(relationship.t2 + ':' + relationship.i2 + ' doesn\'t exist');
}

It's all coming back to me now. :stuck_out_tongue: The EmberGraphAdapter (which LocalStorageAdapter extends) expects a complete database to be loaded. This is because it manages all of the data for that database, including relationships. You may not be able to use the LocalStorageAdapter for this purpose. However, it wouldn't be very hard to write an adapter from scratch to do some basic loading.
// These objects should look like what you would get in a server response
// The serializer will do all of the conversions and insert default values
const RiskMatrixData = {
	'0': {
		id: '0',
		links: {
			project: 'cf4961ed-3f3f-4a07-bb08-9f4823c99af9',
			riskLevelMatrix: '0',
			riskBands: []
		}
	}
};

const RiskMatrixAdapter = EmberGraph.Adapter.extend({
	findRecord(typeKey, id) {
		const payload = {
			riskMatrices: [RiskMatrixData[id]]
		};

		const normalizedPayload = this.deserialize(payload, { requestType: 'findRecord', recordType: typeKey, id });

		return Promise.resolve(normalizedPayload);
	}
});

Great! I'll give that a shot.
Also, does your new memory adapter also have the same issue of managing all the data? I just noticed that addition when I was hunting around today.

Yeah, the MemoryAdapter is the same code as the LocalStorageAdapter except that it stores the database in memory, so it'll suffer from the same problem. I'm sure there's a way to use them independently like you want, just not without a little modification. I'm thinking that overriding the validation might work. I'll have to look into it.

It would definitely be useful in development, freeing up client-side advancement and experimentation from relying on either api full implementation, or "faking" server responses, which can be a significant time expense in itself.

Just to follow up, your suggestion for extending the Adapter itself is working great, thanks so much!


Allow passing Docker build options via devcontainer.json

Need a way to pass docker build options via devcontainer.json.
We work in Amazon Workspaces Linux instances and in order to build/run Docker images/containers you need to pass --network host to allow the running container to access the network.  There is already a runArgs that allows passing Docker run options there also needs to be a buildOpts to allow passing docker build options
I can work around this by building the container outside vscode and then open my devcontainer project in vscode.  I then use the "runArgs": ["--network=host"]. This is less than optimal.

or
{
  "build": {
    "opts": ["--network=host"]
  }
}


SharePoint API permissions with client/secret authentication

Is there a specific reason why the SharePoint API permissions only work with this authentication method? We would like to use the client/secret authentication method while also preferably managing all permissions for apps directly on the app permissions page.
It is a bit misleading within the azure portal that you can add "Sites.FullControl.All" SharePoint permissions to an app, but can't use them when using "Connect-PnPOnline -AppId xxx -AppSecret yyy -Url zzz", which produces 403 errors when using "Get-PnPWeb" afterwards.

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

ID: e082eb56-fafb-9ef7-fadb-e0b90f5369a9
Version Independent ID: 0f1a3528-3615-5722-2352-a1ad4622c244
Content: Granting access via Azure AD App-Only
Content Source: docs/solution-guidance/security-apponly-azuread.md
Product: sharepoint
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

It's been two weeks. Any news on this?

any answer?

Hello? Anyone here?

Seeing as this question is now over half a year old with no reaction: Is there any chance of actually getting an answer?


Nog Shine: Watch kalkipuri.com

Nog Shine requests the watch of the watch_keyword kalkipuri.com. See the Metasmoke search here and the Stack Exchange search here.

kalkipuri.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.


Multiple types of configuration functions

User Story
Developers want to run their applications in the cloud or on local PCs. Multiple configurations are represented as code, and the developer wants to easily switch between which configuration is used.
Acceptance Criteria
The if property switches the resource to be created. (Use the functionality implemented in #7 .)
if: ${{ data.config.service == "docker" }}
kind: resource
provider: docker
parameters: ...
---

if: ${{ data.config.service == "aks" }}
kind: resource
provider: azure-kubernetes-service
parameters: ...

Implement a docker resource provider.
The parameters are given as follows.
kind: resource
name: docker
provider: docker
parameters:
  image: sample-api
  tag: ${{ data.argument.tag }}
  port: 3000:3000
  env:
    - name: PORT
      value: 3000

Ability to switch between local Docker and Azure App Services services.

Implemented.


[BUG] Map show class tag info in a tool tip window

Issue:
Sometimes when mousing over signatures in the mapping window the map displays some class data rather then popping out character information/relevant system info.
See example below:
http://i.imgur.com/GmaApjV.png

Thanks for the report!
What you mean with "mousing over signatures in the mapping window"?
Which browser?

I've experienced this in Chrome (latest build)

I've also seen this in Google Chrome as well

Can be this error in the framework ?

Relinking example from closed duplicate
http://i.imgur.com/wKsipW0.png

Issue is still there in 1.1.6

Issue is still there in 1.2


read_only_tables plugin option

Refs:

https://github.com/datasette/datasette-sqlite-authorizer/issues/1#issuecomment-1854956547

Design of this feature:
plugins:
  datasette-sqlite-authorizer:
    read_only_tables:
    - database: content
      table: repos

Or leave database out for ALL tables with that name across all databases - useful for _litestream_lock and _litestream_seq.
plugins:
  datasette-sqlite-authorizer:
    read_only_tables:
    - table: _litestream_lock
    - table: _litestream_seq

This will block the following actions:

SQLITE_DELETE
SQLITE_DROP_TABLE
SQLITE_INSERT
SQLITE_UPDATE
SQLITE_ALTER_TABLE

Weird, tests passed on every Python version except 3.11: https://github.com/datasette/datasette-sqlite-authorizer/actions/runs/7203453259/job/19623345404

I recreated this bug locally using python3.11 -m venv venv to create a quick new virtual environment for that Python version.

Test failures:
platform darwin -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
rootdir: /Users/simon/Dropbox/Development/datasette-sqlite-authorizer
configfile: pyproject.toml
plugins: asyncio-0.23.2, anyio-4.1.0
asyncio: mode=Mode.STRICT
collected 24 items

tests/test_sqlite_authorizer.py FF.FFF......FF.FFF......                                                                                [100%]

...

================================================================== short test summary info ==================================================================
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[None-True-delete from protected] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[None-True-delete from protected where id = 1] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[None-True-drop table protected] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[None-True-insert into protected (name) values ('two')] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[None-True-alter table protected rename to protected2] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[test1-True-delete from protected] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[test1-True-delete from protected where id = 1] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[test1-True-drop table protected] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[test1-True-insert into protected (name) values ('two')] - Failed: DID NOT RAISE <class 'Exception'>
FAILED tests/test_sqlite_authorizer.py::test_read_only_tables[test1-True-alter table protected rename to protected2] - Failed: DID NOT RAISE <class 'Exception'>
========================================================= 10 failed, 14 passed, 1 warning in 0.27s ==========================================================


Japanese font-family is specified in a way that confuses and breaks CSS pre-processors

Description

See the escaped chars here, they break things: https://github.com/adobe/spectrum-css/blob/main/components/vars/css/globals/spectrum-fontGlobals.css#L31
Reported here: https://adobedesign.slack.com/archives/C5N154FEY/p1644870982957389
Will be fixed by https://git.corp.adobe.com/Spectrum/dss/issues/415

Fixed in<EMAIL_ADDRESS>in https://github.com/adobe/spectrum-css/commit/3db0f66e62e2a8519b48fabba972ea2d292d1e6d 🥳


[SMALLFIX] Fix logging message in ManagerProcessContext.java

What changes are proposed in this pull request?
Fix logging messages in hub/server/src/main/java/alluxio/hub/manager/process/ManagerProcessContext.java
Why are the changes needed?
Fix #634 https://github.com/Alluxio/new-contributor-tasks/issues/634
Does this PR introduce any user facing changes?
None

thanks witheredwood  for your improvement!

Error: 3.386 [ERROR] Errors:
Error: 3.387 [ERROR] alluxio.client.fs.concurrent.ConcurrentFileSystemMasterSetTtlIntegrationTest.rootFileConcurrentSetTtlTest
Error: 3.388 [ERROR]   Run 1: ConcurrentFileSystemMasterSetTtlIntegrationTest.rootFileConcurrentSetTtlTest:114->concurrentSetTtl:162->Object.wait:-2 » TestTimedOut
Error: 3.389 [ERROR]   Run 2: ConcurrentFileSystemMasterSetTtlIntegrationTest.rootFileConcurrentSetTtlTest:108 » Unavailable

alluxio-bot, merge this please


Rerender movielens notebooks

Rerender the movielens notebooks with the latest container (cudf0.18
etc). Also fix a bunch of minor issues related to paths

rerun tests


Example of AST structure

I took a look at this project and something that would make it a lot easier to assess would be an example in the README showing the structure of the AST and how it compares to the raw format that Draft.js currently supports.

@bradleyayers Yes!  There’s now an example at: https://github.com/icelab/draft-js-ast-exporter/blob/master/docs/output.md


Supporting DCCM without multi-bank Support

@aprnath ,
I am trying to use a DCCM without multiple bank access capability. The current DCCM (say DCCM_orig) interface looks like this

output logic                            dccm_wren,
output logic                            dccm_rden,
output logic [RV_DCCM_BITS-1:0]        dccm_wr_addr,     output logic [RV_DCCM_BITS-1:0]        dccm_rd_addr_lo,
output logic [RV_DCCM_BITS-1:0]        dccm_rd_addr_hi,              output logic [RV_DCCM_FDATA_WIDTH-1:0] dccm_wr_data,
input logic [RV_DCCM_FDATA_WIDTH-1:0]  dccm_rd_data_lo,           input logic [RV_DCCM_FDATA_WIDTH-1:0]  dccm_rd_data_hi,

This supports all types of unaligned access. However, I can only have a DCCM, (say DCCM_new) with memory bank structure that has the below interface.

output logic                            dccm_wren,
output logic                            dccm_rden,
output logic [RV_DCCM_BITS-1:0]        dccm_wr_addr,     output logic [RV_DCCM_BITS-1:0]        dccm_rd_addr,
output logic [RV_DCCM_FDATA_WIDTH-1:0] dccm_wr_data,              input logic [RV_DCCM_FDATA_WIDTH-1:0]  dccm_rd_data,

DCCM_new originally was 64bits wide, so I can increase the width of dccm_rd_data to 64 from 32 (RV_DCCM_FDATA_WIDTH is 39 - 32 data, 7 ECC). This can support only a small subset of unaligned accesses.
Eg : A word (32- bit) access to address 0x0106 (mapped to DCCM_orig), successfully passes as the core splits this into two read accesses, one each to 0x0106 and 0x0109. that get processed simultaneously. However, a word read access to 0x0106 on DCCM_new fails.
Is it possible to configure SweRV to support DCCMs with banking structures that can support data access to only one bank at a time?
Thanks!

With the current architecture, we need atleast 2 banks to support unaligned read accesses. There is no way to support unaligned access, as designed, with single bank DCCM.


Fix rotation offset/snap fields being cut off in Configure Snap dialog

This partially addresses #17126. This means the translate and rotation snap fields are no longer aligned, but I don't think this is a huge issue as they're not related. I also set other SpinBox fields to use "expand" just in case.
Preview
Before

After

Thanks!


Fancy Zones keeps assinging same layouts for both monitors

ℹ Computer information
I have 1 vertical monitor and 2 horizontal monitors. This problem happens for my horizontal monitors.

PowerToys version:  0.23.0
PowerToy Utility:
Running PowerToys as Admin: Both
Windows build number: [run "winver"] 19041.508

📝 Provide detailed reproduction steps (if any)

Focus to monitor 1, hit win+`  to open preferences for monitor 1
Select a layout and apply
Focus to monitor 2, hit win+`  to open preferences for monitor 2
Select a different layout and apply
Focus to monitor 1 again, hit win+`  to open preferences monitor 1 and see that its layout has changed to be same to monitor 2

✔ Expected result
Changing layout for the focused monitor should apply only the focused monitor
❌ Actual result
The same layout gets applied to both of my horizontal monitors.
📷 Screenshots

@metin
you may have the same problem as https://github.com/microsoft/PowerToys/issues/1777
To confirm, can you please upload %localappdata%\Microsoft\PowerToys\FancyZones\zones-settings.json
You will have to zip the file before uploading it otherwise GitHub will not accept it.

zones-settings.zip

@metin
there are a couple of entries that are suspicious, can you run this diagnostic tool and report the results?
monitor_info_report.zip

GetSystemMetrics = 3
GetMonitorInfo OK
EnumDisplayDevices OK:
        DeviceID = \\?\DISPLAY#LEN40BA#4&109cbb1&0&UID265988#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
        DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
        DeviceName = \\.\DISPLAY1\Monitor0
        DeviceString = Wide viewing angle & High density FlexView Display 1920x1080
GetMonitorInfo OK
EnumDisplayDevices OK:
        DeviceID = \\?\DISPLAY#LEN40BA#4&109cbb1&0&UID265988#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
        DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
        DeviceName = \\.\DISPLAY2\Monitor0
        DeviceString = Wide viewing angle & High density FlexView Display 1920x1080
GetMonitorInfo OK
EnumDisplayDevices OK:
        DeviceID = \\?\DISPLAY#LEN40BA#4&109cbb1&0&UID265988#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
        DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
        DeviceName = \\.\DISPLAY3\Monitor0
        DeviceString = Wide viewing angle & High density FlexView Display 1920x1080
EnumDisplayMonitors OK

WMI report:
Active: 1
WeekOfManufacture: 0
InstanceName: DISPLAY\LEN40BA\4&109cbb1&0&UID265988_0
YearOfManufacture: 2018
ManufacturerName: 76 69 78 0 0 0 0 0 0 0 0 0 0 0 0 0
ProductCodeID: 52 48 66 65 0 0 0 0 0 0 0 0 0 0 0 0
SerialNumberID: 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
UserFriendlyName:

Active: 1
WeekOfManufacture: 42
InstanceName: DISPLAY\DELD0D9\4&109cbb1&0&UID224795_0
YearOfManufacture: 2018
ManufacturerName: 68 69 76 0 0 0 0 0 0 0 0 0 0 0 0 0
ProductCodeID: 68 48 68 57 0 0 0 0 0 0 0 0 0 0 0 0
SerialNumberID: 49 57 56 80 66 82 50 0 0 0 0 0 0 0 0 0
UserFriendlyName: 68 69 76 76 32 80 50 52 49 57 72 0 0

Active: 1
WeekOfManufacture: 42
InstanceName: DISPLAY\DELD0D9\4&109cbb1&0&UID232987_0
YearOfManufacture: 2018
ManufacturerName: 68 69 76 0 0 0 0 0 0 0 0 0 0 0 0 0
ProductCodeID: 68 48 68 57 0 0 0 0 0 0 0 0 0 0 0 0
SerialNumberID: 72 56 56 80 66 82 50 0 0 0 0 0 0 0 0 0
UserFriendlyName: 68 69 76 76 32 80 50 52 49 57 72 0 0

@metin
that's definitely a problem, can you try the 1.1 version of the tool that uses a different method to detect monitors?
monitor_info_report1.1.zip

Here is the output
Report #1 v1.1:
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY1
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
	DeviceName = \\.\DISPLAY1\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY2
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID232987#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
	DeviceName = \\.\DISPLAY2\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY3
	DeviceID = \\?\DISPLAY#Default_Monitor#4&109cbb1&0&UID200195#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
	DeviceName = \\.\DISPLAY3\Monitor0
	DeviceString = Generic Non-PnP Monitor
	Mirror = false
	Desktop/Active = true
EnumDisplayMonitors OK

Report #2 v1.1:
	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0000
	DeviceName = \\.\DISPLAY1
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
	DeviceName = \\.\DISPLAY1\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true

	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0001
	DeviceName = \\.\DISPLAY2
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID232987#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
	DeviceName = \\.\DISPLAY2\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true

	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0002
	DeviceName = \\.\DISPLAY3
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#Default_Monitor#4&109cbb1&0&UID200195#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
	DeviceName = \\.\DISPLAY3\Monitor0
	DeviceString = Generic Non-PnP Monitor
	Mirror = false
	Desktop/Active = true

@metin
can you check the HP support site for a driver for your monitor? In same cases they are available and they fix the issue.

I downloaded whatever I was able to find but it is the same. Curious thing is, this used to be fine in older versions of PowerToys.

@metin
we didn't change the logic in FZ, so it's more probable that something changed after a Windows update.
The diagnostic tools clearly show that whatever API we use, the HP monitor is not detected, and also the Device Manager shows an ID that doesn't seem right "Wide viewing angle..."

I worked; here is the story
I got the driver from https://support.hp.com/us-en/drivers/selfservice/HP-Consumer-21-inch-Monitor-series/3739209/model/4131455
Installed it and didn't see a change.
Uninstalled the monitor in the device manager extracted the file I downloaded and installed the drive in the unzipped folder. The driver update wizard said it what is installed is already better.
Now I just unplugged and plugged back, it seemed to remember the layout for that monitor. Here is the diagnostic report. Not sure if there is a difference.
Report #1 v1.1:
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY1
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
	DeviceName = \\.\DISPLAY1\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY2
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID232987#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
	DeviceName = \\.\DISPLAY2\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true
GetMonitorInfo OK
	MonitorName = \\.\DISPLAY3
	DeviceID = \\?\DISPLAY#Default_Monitor#4&109cbb1&0&UID200195#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
	DeviceName = \\.\DISPLAY3\Monitor0
	DeviceString = Generic Non-PnP Monitor
	Mirror = false
	Desktop/Active = true
EnumDisplayMonitors OK

Report #2 v1.1:
	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0000
	DeviceName = \\.\DISPLAY1
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
	DeviceName = \\.\DISPLAY1\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true

	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0001
	DeviceName = \\.\DISPLAY2
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#DELD0D9#4&109cbb1&0&UID232987#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
	DeviceName = \\.\DISPLAY2\Monitor0
	DeviceString = Generic PnP Monitor
	Mirror = false
	Desktop/Active = true

	DeviceID = PCI\VEN_8086&DEV_5917&SUBSYS_225A17AA&REV_07
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video\{9EE918DB-F7B7-11EA-923A-5076AF46444C}\0002
	DeviceName = \\.\DISPLAY3
	DeviceString = Intel(R) UHD Graphics 620
	Mirror = false
	Desktop/Active = true
Associated devices:
Device #0:
	DeviceID = \\?\DISPLAY#Default_Monitor#4&109cbb1&0&UID200195#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
	DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
	DeviceName = \\.\DISPLAY3\Monitor0
	DeviceString = Generic Non-PnP Monitor
	Mirror = false
	Desktop/Active = true

@metin
what is important is that it now works for you.
Just for curiosity, does the Device Manager still show "Wide viewing angle..."?

I've encountered the same problem. After upgrading to the latest Nvidia graphics driver the problem's solved.

@enricogior no, I don't have it anymore.