Fix testing by tidying and vendoring files

Fix tests.sh by running the below commands and committing the results:
$ go mod tidy
$ go mod vendor

Refer to this link for build results (access rights to CI server needed):
https://edge-jenkins.isgtesting.com/job/test_team-build-edge_proxy/63/

Also, we are not using that version of websocket, we are using a specially patched fork as can be seen here: https://github.com/PelionIoT/edge-proxy/blob/7e70a2f1cc32e7cd732d5abfa41857da017abb24/go.mod#L16

@costanic thanks for the prompt review. This PR copies files from https://github.com/pelioniot/websocket at v1.4.2-1 into the vendor directory of this repository. It isn't bringing in the standard gorilla websocket library. Do you anticipate this causing issues, or is this the version it should be using?

@costanic thanks for the prompt review. This PR copies files from https://github.com/pelioniot/websocket at v1.4.2-1 into the vendor directory of this repository. It isn't bringing in the standard gorilla websocket library. Do you anticipate this causing issues, or is this the version it should be using?

ah ok, that's good.  I was confused by the path of the new files.  The pelioniot fork is indeed required for correct functionality.
Could you explain why we need to copy the websocket source into this repo now that we have Go modules?  My strong preference is to use the Go mod tools to download these modules at build time rather than keeping a fork here, which introduces all the additional headaches of keeping it up to date, plus the uncertainty of which version is actually compiled at build time.  In my limited experience, when using go modules in the snap-pe and linux-pe build systems, the version used for compilation is one downloaded by go into GOPATH/pkg/mod folder, not the fork in the vendor folder, and this caused me immense confusion.


"Suatu", "Aruncuta" and "Dâmburile" villages are listed in the drop-down menu

Description: the villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions : the website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Suatu"

Expected results
The location appears in the drop-down menu as "Sat Suatu, CLUJ (Suatu)"

Step 2
Write in the search bar "Aruncuta"

Expected results
The location appears in the drop-down menu as "Sat Aruncuta, CLUJ (Suatu)"

Step 3
Write in the search bar "Dâmburile"

Expected results
The location appears in the drop-down menu as "Sat Dâmburile, CLUJ (Suatu)"


Inconsistencies in Environment Variables and Docker-Compose Configurations

Issue Description
I've encountered inconsistencies in the environment variables and Docker-compose configurations that are affecting the deployment and operational stability of the WKS Power platform on remote servers. These inconsistencies make it difficult to predict the behavior of the system under different configurations and can lead to failures during startup.
Steps to Reproduce
Follow Installation Guide option 2 and use the provided Docker-compose and environment variable configurations.
Attempt to use the docker-full-startup.sh script, expecting a seamless setup, but encounter configuration-related issues instead.
Expected Behavior
Following the installation guide should lead to a smooth setup and startup of the WKS Power platform without needing to manually adjust or debug basic environment settings. Environment variables and Docker-compose configurations should align and work out-of-the-box for remote server setups.
Additional Context
The issues seem to stem from a lack of synchronization between the Docker-compose files and the environment variables outlined in the .env files. This has led to problems such as incorrect database links, authentication errors with Keycloak, and CORS issues due to misconfigured security headers.
Possible Solution
Revising the Docker-compose and .env sample files to ensure that all variables are correctly mapped and documented could resolve these inconsistencies. A review of all related documentation to include clear examples and corrective actions for common errors could also help mitigate these issues.

I got this on Option 2 - step 3
docker-compose up minio mongodb opa camunda keycloak -d
no such service: camunda

Is that one of the issues?
I still didn't find the missing variables

It's not kinda missing. But some variables just being hardcoded in the compose file and cannot set via .env file. To be specific, they are REACT_APP_XXX_URLs in docker-compose.portal.yaml
Also I got this additional error when trying through Option 2 - step 3.
ERROR: The Compose file './docker-compose.yaml' is invalid because: 'name' does not match any of the regexes: '^x-'

Insights:

Docker-Compose Files for Development/Test Environments:

The provided docker-compose files are recommended only for development/test environments.

Docker-Compose Files:

docker-compose.yaml: Includes essential servers (minio, mongodb, opa, keycloak, storage-api).
docker-compose.camunda[CAMUNDA_VERSION].yaml: Adds Camunda servers along with main WKS Platform backend components such as REST-API and External Tasks.
docker-compose.demo-data-loader.[CAMUNDA_VERSION].yaml: Introduces the WKS Platform Demo Data Loader app, loading  demo case definitions, forms and processes into Camunda and MongoDB and realms, groups and users into Keycloak.
docker-compose.event-hub.[CAMUNDA_VERSION].yaml: Optional but necessary for integrating System Notifications and/or websockets for the case-portal.

Customizes Camunda with a plugin sending Kafka messages for registered events.
Starts Kafka and Zookeeper.
Enables Kafka communication from External Tasks.

docker-compose.websocket.yaml: Launches websockets for the case-portal.
docker-compose.novu.yaml: Initiates novu-publisher.
docker-compose.email-sender.yaml: Starts email-sender.
docker-compose.portal.yaml: Begins the React case-portal.

Shell Scripts for Local Development:

The shell scripts are utilities for local development.
docker-servers-[startup/shutdown].sh: Useful for loading all servers with Docker while running the React case-portal with yarn, typically for UI development.
docker-portal-[startup/shutdown].sh: Opposite of the above, handy for backend development.
docker-full-startup.sh: Loads all components from Docker images (defaults to Camunda 7), great for quick tests and demos.
docker-full-startup.sh: Similar to the previous script but with Camunda 8, suitable for quick tests and demos.

Environment Variables:

For Java:

Defined in the application.yml files at the root of each Java app (e.g., rest-api application.yml).
Can be passed into the app on application startup.
Can assume system environment variable values if defined like this one. For instance, camunda.bpm.client.base-url will assume CAMUNDA_BASE_URL if that system variable is available; otherwise, it defaults to http://localhost:8080/engine-rest, referenced within the Java code.
See this example of the previous variable overwritten by the docker-compose when including that Java service.
Here, the same variable is defined in a .env-sample file.
Hence, just as an example, we could apply the same structure to the logging related variables.

For React Case-Portal:

Defined here.
Passed into the app during build time.
If you want to start the React app with yarn, you need to copy .env-sample.
These variables will be overridden by the ones defined in the docker-compose.
To facilitate customization of variables such as this one, currently hard-coded, add it to .env-sample under the appropriate section and update it in the docker-compose file. See this example.

For Node Apps: (Using mail-sender app as an example, but the same applies to the other 2 Node apps - websocket publisher and novu-publisher)

Defined here.
.env-sample for standalone running with yarn here.
Docker-compose overrides here.
.env-sample for docker-compose here.


Allow any protocol in the URL for button components

Using non http protocol in the Button URL results in error (The application did not respond).
Example
discordgo.Button{
  Label: "FTP link",
  Style: discordgo.LinkButton,
  URL:   "ftp://foo.bar:21",
},

This is a discord limitation. Check the returned error for an error message

Roger. thanks


Use a specific name for SCC

There are some tests [1] that fail because the SCC name is too large.
The SCC name when the aot test flag is set is derived from the test
name. In order to prevent this issue, simply use the same name for all
tests. This is ok because prior to and after running tests, all SCCs are
destroyed. Additionally, this does not impact any future ability to run
tests in parallel as this is already not possible; the fact that all
SCCs are destroyed between tests means that test could impact the
validity of another.
[1] https://github.com/eclipse-openj9/openj9/issues/14461
Signed-off-by: Irwin D'Souza<EMAIL_ADDRESS>

@smlambert @llxia could you please review?


Turkish Translation would be great idea !

Hello spaCy Community, 💥
I would love to work on Turkish translation in this beautiful course. Any ideas about that? :)

Count me in, I would love to help too.

So let's gooo! 😁 A good starting point is to look for closed PRs for translations of other languages: https://github.com/explosion/spacy-course/pulls?page=1&q=is%3Apr+is%3Aclosed For the current translations, there will be more than one PR as we also ported the existing course to spaCy v3

I took chapter 1 (both slides and chapter.md file) 🧙🏻♂

[X] Chapter 1_01 Introduction to Spacy
[ ] Chapter 1_02 Statistical Models ~here 💥
[ ] Chapter 1_03 Rule-based Matching
[ ] Chapter 1.md

I will create a pull request per chapter. I don't want to disturb you every time :D

what is our latest situation ? i wld like to contribute too. I am Turkish


Add spreadsheet updater to component generator

Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

Merge conflicts.


Log received messages to ChatOps room

When the bot received a message that:

is a direct message, or
is a room message, with mentioning(at) the bot

Then, the bot should report that message in the chatops room, for humans review.

Presented and closed on weekly meeting.


Labels are not updated

I am using this pull.yml file:
version: "1"
rules:
  - base: master
    upstream: kubeflow:master
    mergeMethod: rebase
    mergeUnstable: false
label: "do-not-merge/hold"
conflictLabel: "needs-rebase"

The PR is created but without the do-not-merge/hold label. Example PR -> https://github.com/samuelvl/kubeflow/pull/7

It finally added the label, I think it was using an old pull spec. PR with correct labels -> https://github.com/samuelvl/kubeflow/pull/21


Sphero BOLT

The communication protocol works properly for the sphero mini. However the code for the Sphero Bolt works partially. Led/matrix/connection control works well. Only the Bolt does not move with the phython code.
The following version is installed on my computer:
Pycharm: version 3.8
Sperov2: version 0.10
Firmware Bolt: Nordic 4.2.41, ST 4.2.44

I'll check out what's going on

Still looking into, you caught me at a time where im a little busy but ill def give it a look over this weekend. Working on moving my rasp pi workstation over to a surface pro for faster dev times.

Thank you very much for your quick response. I'm making a game for my son. I still have a lot of work to do on the project. Take your time to solve it.

Changes are in a pull request, once approved should be submitted and merged and ready for you.
It's really cool to hear that you're making a game for your son! This project for me has been really fun and fulfilling to work on so I'm happy to help with any issues that come up. I'm working on a project myself and sometimes don't get to fully test everything as some functionality isn't always relevant to what I'm doing so if you come across any other issues I'd happily look into them! Best of luck.

You have found the solution. Thanks a lot. When the game is ready for my son I will send the code to you. I still have to buy a good vision camera and decide whether to write the complete program in python or use a software tool. Scorpionvison is very powerfull software what is working with python scrips. You can do the setting and calibration very easy. There is a demo available. The have also good support.
http://www.scorpionvision.com/180.html
In the past I made a program to place paintcaps on drums with different heights with 1 camera with infrared filter. You can also work with multiple cameras. It was possible to place the paint caps with a precision of 0.1 mm with a Fanuc robot. It had been 8 years ago when I made it with also a mechanical person . This was made for a company. I have to use now cheaper tools for the game.
My programmer skills are not good enough to get the camera right without a tool. I'll give it a try but it will take some time.


Read source from correct directory if ref is used

When 'ref' is not used it is possible to read git_root. However 'ref' is checked out only in testdir.
Fixes: #1683

/packit retest-failed


Input Select

It's possible use input select (combo) on a field?

Hey @millermo, this is actually planned to add, would you mind describing your requirements so we could start defining this feature from there?

i need fill the select from database but with settings options it's sufficient
maybe:
type: select (list)
data:  (option list)

I'll leave this information here, seems like some documentation about how to enable select options will be good to close this issue.
settings = {
  columns : {
    movie: {
      title: 'Movie',
      type: 'list',
      config: {
        list: [{title: 'Lion King', value: '1'}, {title: 'The Matrix', value: '2'}]
      }
    }
  }
}

produces:
<select>
<option value="1">Lion King</option>
<option value="2">The Matrix</option>
</select>

I had to roam around the code to find out, hope it helps someone in the future and documentation gets updated regarding this wonderful option.

not working !! event documentation way to create lists is not working (editor.config.list)

It's what i'm doing, but I have an other problem, when i create a new row, the values shown are not "Lion King' ( so the title ) but "1" (so the value). Any idea ?

Give this a shot. From their example here
columns: {
      username: {
        title: 'User Name',
        type: 'html',
        editor: {
          type: 'list',
          config: {
            list: [{ value: 'Antonette', title: 'Antonette' }, { value: 'Bret', title: 'Bret' }, {
              value: '<b>Samantha</b>',
              title: 'Samantha'
            }]
          }
        }
      }
    }

Did anyone find a way to populate the select list from an external datasource?

Did anyone find a way to populate the select list from an external datasource, like a web service?

It does not work that way. How can i do it?
`public userGroups:userGroupModel[]=[{value:1, title: "Admin"},
{value:2, title: "User"}];
GROUP_NAME: {
title: 'Group',
type: 'html',
editor: {
type: 'list',
config: {
list: this.userGroups
},
}
}
`

i solve it like this:
this.mySettings.columns.GROUP_NAME.editor.config.list=this.userGroups;             this.settings=Object.assign({},this.mySettings);

@ahdeveci what is the settings object in your example? I guess mySettings is the smart table configuration object?

Yes that's right @uwbe.

@stratdaz  This is how I finally solved the problem:
public listTemplateEmail:any[];
In the ngOnInit() I inputted the default settings that i want WITHOUT the columns, for exemple:
this.settings = {
edit: {
confirmSave: true,
},
actions: {
add: false,
delete: false,
columnTitle: '',
position:'right'
}
}
In the call to the server to populate the list :
blabla.subscribe(data => {
this.listTemplateEmail = data.value;
this.settings = {
columns: {TemplateEmail:{
title:'Template',
type: 'html',
editor:{
type:'list',
config: {
list: this.listTemplateEmail
}
}
}
}
};
In my service, I send back an array with value{value:something, title:something}.
Hope it helps you and others

@phillaurin nice hack but i think that it's a bug

I am doing all of this what ever is suggested in this thread, still my dropdown is not listed in action column.
is there something that I need to import?

@steve-frank
Are you sure you are clicking on the "+" button? I was getting confused too as I was expecting to see the dropdown in the search fields. I had to click on the "+" button to get the entry fields where I saw the expected dropdown columns.

Working
settings = {
columns: {
userId: {
title: 'Company Id',
type: 'html',
editor: {
type: 'list',
config: {
list: [{ value: 'Antonette', title: 'Antonette' }, { value: 'Bret', title: 'Bret' }, {
value: 'Samantha',
title: 'Samantha'
}]
}
}
},
id: {
title: 'Employee Number'
},
title: {
title: 'Title'
},
completed: {
title: 'Completed'
}
},
actions: {
edit: true,
add: false,
delete: false,
position: 'right'
}
};

This works, but the cell still shows the value of the option and not the title. Any ideas on how to show the title instead of the value?

is there any dependency require except Ng2SmartTableModule
beacause i am referring this link
link
smart table simply work, but still drop down is not working

i have a item selected in the select box, but when i click in the edit button, the select is empty, does anyone see the same?
in the demo just works because they are using the same string as value and title, but i am using an id as value and a name as title

Has anyone figured out how to get this to work properly when subscribing to a datasource yet?

Hi All,
I tried with external datasource but dropdown not showing items. I think issue is, at the time our datasource subscribing, table data are already rendered so i cameup with something else,
at the time users login to system, I got all the required data for dropdowns and bind to localstorage, and that bind to smart table as bellow,
//login component
` this._myservice.getServices().subscribe(data => {
  if(data != undefined || data != null)
  {
    data.forEach(obj => {
      this.servicesList.push({value:obj.Id,title:obj.Name})
    });
  }
  localStorage.setItem('gridServicecList', JSON.stringify(this.servicesList));

}, error => { console.log(error) });`

// table's component
`   public servicesList=JSON.parse(localStorage.getItem('gridServicecList'));
 settings = {
  columns: {
  Id: { title: 'ID'},
  ServiceName: {
    title: ' Name',
    type: 'html',
    editor: {
      type: 'list',
      config: {
        list:this.servicesList,
      },
    }
  },`

this's not a proper approach but it also can use ,
if someone else found a better way please share
good day !

To fix the issue of the value displaying in the cell instead of the actual option title add this to the column definition:
, valuePrepareFunction: (id) => { return this.modules[String(id)]; }
where id is the option value and this.modules is an associative array containing option titles indexed by value.

how could i dynamically fill list of drop down.

@drsherlock the problem what you said has solved? if yes, could  you share sulation?

@songshubing sorry, not solved.

This is still active issue, and have not been fixed in a year???

@phillaurin can you please share full example??

@Romsan01 to display the dropdown with corresponding title/value, see : https://github.com/akveo/ng2-smart-table/issues/580 and https://github.com/akveo/ng2-smart-table/issues/665
To display data in the dropdown list from an api call see this previous comment : https://github.com/akveo/ng2-smart-table/issues/10#issuecomment-354022171
Issue can be closed, some documentation may be updated along with this example : https://github.com/akveo/ng2-smart-table/blob/ba5521c1c55d96f953e47c162d443ed07c80cc20/src/app/pages/examples/custom-edit-view/advanced-example-types.component.ts#L126

the difference between the first line and the other lines is : (editor/filter) in the settings section :
email: {
title: 'Email',
editor: {
type: 'completer',
config: {
completer: {
data: this.data,
searchFields: 'email',
titleField: 'email',
},
},
},
},

email: {
title: 'Email',
filter: {
type: 'completer',
config: {
completer: {
data: this.data,
searchFields: 'email',
titleField: 'email',
},
},
},
},

How I can do it with SelectCustomComponent  and type : 'custom' ??

i solve it like this:
this.mySettings.columns.GROUP_NAME.editor.config.list=this.userGroups; this.settings=Object.assign({},this.mySettings);

works fine for me ! thanks man

listCom:any=  this.getData();
settings = {
columns: {
categories: {
title: 'categories',
type: 'string',
valuePrepareFunction: (categories) => { return categories.name },
filter: {
title: 'Category',
type: 'list',
config: {
selectText: 'Select',
list: this.listCom,
}
},
},
}
getData() {
var settingList: any = [];
// Call API category
this.service.getCategory().subscribe((cat) => {
this.category = cat;
cat.forEach(obj => {
settingList.push({value:obj.categori_id,title:obj.name})
});
let newSettings = this.settings;
newSettings.columns.categories.filter.config.list = settingList;
this.settings = Object.assign({}, newSettings);
});
}

i solve it like this:
this.mySettings.columns.GROUP_NAME.editor.config.list=this.userGroups; this.settings=Object.assign({},this.mySettings);

thanks man, you save me hours, cheers. I own you a beer.


Css is not loading in existing next js project

Link to reproduction
No response
Payload Version
beta
Node Version
20.2.5
Next.js Version
14.2.3
Describe the Bug
Any existing Next Js Project added - payload by this command -npx create-payload-app@beta.
Then Css is not loading on UI - when I saw .next/static/css/app/(payload)/layout.css file CSS there is different from what I have in when I cone [https://github.com/payloadcms/payload-3.0-demo](payload 3.0 demo).
When I change content of layout.css or admin/page.css then  css is working fine.
In below image one side when searching - loading-overlay nothing found... on other its working.

Please help!
Reproduction Steps

Any existing next js prject with tailwind, next-purgecss, postcss.
postcss.config.js file

module.exports = {
  plugins: [
    "tailwindcss",
    "autoprefixer",
    [
      "@fullhuman/postcss-purgecss",
      // process.env.NODE_ENV === "production"
      {
        // the paths to all template files
        content: [
          "./src/app/**/**/*.{js,jsx,ts,tsx}",
          "./src/pages/**/*.{js,jsx,ts,tsx}",
          "./src/components/**/*.{js,jsx,ts,tsx}",
          "./node_modules/aos/dist/aos.css",
          "./node_modules/react-multi-carousel/lib/styles.css",
<EMAIL_ADDRESS>        ],
        keyframes: true,
        // function used to extract class names from the templates
        defaultExtractor: (content) => content.match(/[\w-/:]+(?<!:)/g) || [],
      },
      // : false,
    ],
  ],
}

Add payload to project.
Run project - rm -rf .next && cross-env NODE_OPTIONS=--no-deprecation next dev

Adapters and Plugins
db-postgres, tailwind, next-purgecss, postcss

Hey @priya-jain-dingg please provide a reproduction repository so we can look into this, thanks! I will re-open once you have one.


cmd/go: "cannot find module golang.org/x/sys/unix" when GOOS=illumos

I believe that the fix for #30888, applicable for GOOS=android, needs to cover the equivalence between the illumos and solaris in the same manner.  It appears I missed this when adding the illumos build tag in #20603.
I built the latest master revision to make sure this is still an issue:
go version devel +2165452a37 Fri May 31 11:26:23 2019 +0000 illumos/amd64

(I get the "cannot find module golang.org/x/sys/unix" for an illumos/amd64 toolchain but not for a solaris/amd64 toolchain)

(I'm looking into this.)

In addition to the original fix for cross building for Android, it seems we need to amend the tags map constructed in cmd/go/internal/imports/tags.go.  This probably also needs to happen for linux/android as well.  I suspect it wasn't noticed there because people perhaps don't generally run a native Android toolchain?


CSPC compression off doesn't work

I followed scenario in cStor Pool Operations via CSPC in OpenEBS blog.
There is "compression: off" setting in CStorPoolCluster, but when I get into the pool pod and check "zfs get all | grep compression" compression is on. Why?

Hi, @SVronskiy thanks for trying the cStor pool provisioning via CSPC some fields are not yet honored we will fix it in upcoming releases.

Hi @SVronskiy -- The compression feature has made into the CSPC.
Here are the relevant PRs:
https://github.com/openebs/cstor-operators/pull/26
https://github.com/openebs/cstor-operators/pull/27
Please reopen the issue if you still are facing any issues.


Add ICERestartWHIPResource to RPC

Marking as draft. Should be tested against a client before worth reviewing

@biglittlebigben I think this one is ok to review/merge. If you are happy with the structure of the other PR I don't see why this would change.


Throw error in transation

please note this code:
const action = String(function() {
    const db = require('org/arangodb').db;
    throw "error";
});
await db.transaction({ }, action, { });

console will show
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ArangoError: internal server error
(node:1) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
then the promise will pendding !
it's not reasonable.
it should rollback and reject with a error.

This actually seems to result in an error in ArangoDB, not arangojs:
{ error: true, errorMessage: 'error', code: 500, errorNum: 1650 }

Throwing an actual Error object results in this instead:
{ error: true, errorMessage: 'Error: error', code: 500, errorNum: 4 }

If you think either of these two responses is unreasonable, you may want to open an issue in the ArangoDB repository.
The async/promise logic will change in the upcoming 6.0.0 release of arangojs by removing support for node-style callbacks, so it will no longer be possible for promises to get stuck on pending.


Update dependency to address Vulnerability CVE-2022-1471

Redisson has Vulnerability CVE-2022-1471 and please update SnakeYAML version to 2.0 when its released. SnakeYAML team has fixed Vulnerability CVE-2022-1471  in 2.0 version that is yet to release

Done. Thanks for report!


Flutter should stop using Skia's BUILD.gn directly

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Skia is migrating away from GN as the default buildsystem onto Bazel. Thus, the BUILD.gn rules that Skia uses will eventually go away.
Proposal
Skia has a mechanism for generating file lists in .gni files (example_1 example_2) and we intend to support the generation of these for clients of Skia that do use GN.
If Flutter defines their own skia target that uses our .gni files and file lists, that will allow us to eventually remove our BUILD.gn files after the migration to Bazel is complete.

This was also raised when a change to a skia BUILD.gn changed the runtime behavior of flutter's tests: https://github.com/flutter/flutter/issues/137558
Although those tests were flimsy for relying on a default font for tests.

This will likely make https://github.com/flutter/flutter/issues/67373 easier.

@kjlubick Looking in the BUILD.gn file, I see some places where source lists are inlined directly into the build targets. Here's one in the skia target that Flutter uses a lot: https://github.com/google/skia/blob/75507da748f9062ea43003a87291b0ae61e62e32/BUILD.gn#L1520.
What's the distinction between the lists of sources in the .gni files and the lists of sources outside of them?
Also, is there already an example of a GN build somewhere that uses the .gni files that we could crib from?

The hard-coded files simply reflect cases where we have not finished extracting the files into groups. Our primary client of these file lists (outside of ourself) is Chromium: https://source.chromium.org/chromium/chromium/src/+/main:skia/BUILD.gn;l=367-386?q=skia%2FBUILD&ss=chromium%2Fchromium%2Fsrc
You will see Chromium also hard-codes some files. That's mostly because those files have been stable and we haven't tried to move them around (which was the impetus for creating many of those filelists anyway)

This is done.


ratel UI still points to github

You'd like to move to discuss but you didn't the ratel UI still has button which points here. This is good opportunity to rethink your inconsistent decision and restart using github issues again.

Fixed


NTR: triplex DNA unwinding

Hello,
I would like to propose the creation of a new term:
For DDX11 (Q96FC9):
NTR: triplex DNA unwinding:
The process by which a three-stranded D-loop DNA is unwound or 'melted'.
...As a child of "GO:0032392 DNA geometric change", i.e. sibling of GO:0044806 G-quadruplex DNA unwinding, with a similar definition , "The process by which a three-stranded D-loop DNA is unwound or 'melted'".
This structure correspond to an early intermediate of homologous
recombination that is formed when a DNA strand from one chromatid invades the
sister chromatid DNA duplex to anneal with its complementary strand.
See in PubMed=26503245, Figure 3 C
Add more:
See in PubMed=26503245, in Figure 4 B
NTR: regulation of triplex DNA unwinding
NTR: positive regulation of triplex  DNA unwinding
NTR: negative regulation of triplex  DNA unwinding
Thanks a lot,
Andre Stutz

Hello,
Is the triplex a 'model', or a real structure in vivo ? If it's a model, you should annotate to what the triplet is modeling.
Pascale

[Term]
+id: GO:0090703
+name: triplex DNA unwinding
+namespace: biological_process
+def: "The process by which a three-stranded D-loop DNA is unwound or 'melted'." [PMID:26503245]
+is_a: GO:0032392 ! DNA geometric change
+created_by: tanyaberardini
+creation_date: 2016-09-20T16:37:15Z

I'll create the regulation terms after the core term has been propagated to the file that TermGenie uses.

Hi,
Does this term differ from"strand displacement" ?
(plus it isn't really unwinding of a triplex is it? its unwinding of the Duplex part of the D loop?)
Strand dislplacement could probably be better defined!
Val

@Andrestutz, please respond to @ValWood's comment.  I guess I'll hold off on creating the regulation terms.

Hi Val,
I agree that "triplex DNA unwinding" is confusing, suggesting that
DDX11 acts to unwind a triple DNA helix which is apparently not the
case. This term should therefore be removed, sorry for that.
In fact I missed the term "strand displacement" which effectively describes
more precisely author's aim, that is the displacement of an invading
single-stranded DNA (represented in figure 3C by the 5'-single-stranded tail
oligo) complementary to one strand of a DNA duplex molecule
(represented in figure 3C by oligos DL1 and DL2).
This experiment reproduces what happen during homologous recombination.
I hope I'm correct as I'm not an expert in this field.
best regards

Term made obsolete.

I'm not sure ;)
strand displacement is defined
Perhaps
GO:0000733 DNA strand renaturation
The identification and annealing of complementary base pairs in single-strand DNA.
http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0036310#term=ancchart
is more correct?
strand invasion
Is defined:
The process in which the nucleoprotein complex (composed of the broken single-strand DNA and the recombinase)....
So it is specifically referring to  a recombinase...
I'm also not an expert, but I think the ontology is quite confusing around the area of "annealing"
https://github.com/geneontology/go-ontology/issues/12539
and it is likely that the 'activity' being referred to in the "stand in invasion term" is the helicase  activity of the recombinase
https://github.com/geneontology/go-ontology/issues/12465


"match each contains deep" uses equal for nested objects

as per documentation for contains deep, works as expected
Scenario: recurse nested json
  * def original = { a: 1, b: 2, c: 3, d: { a: 1, b: 2 } }
  * def expected = { a: 1, c: 3, d: { b: 2 } }
  * match original contains deep expected

but if original is wrapped in an array and match each is used:
Scenario: recurse nested json
  * def original = [{ a: 1, b: 2, c: 3, d: { a: 1, b: 2 } }]
  * def expected = { a: 1, c: 3, d: { b: 2 } }
  * match each original contains deep expected

it gives:
match failed: EACH_CONTAINS
  $ | match each failed at index 0 (LIST:MAP)
  [{"a":1,"b":2,"c":3,"d":{"a":1,"b":2}}]
  {"a":1,"c":3,"d":{"b":2}}

    $[0] | actual does not contain expected | all key-values did not match, expected has un-matched keys - [d] (MAP:MAP)

btw:
if nested object match is removed  * def expected = { a: 1, c: 3 } it matches as expected..

@ivangsa closing as wontfix you are welcome to submit a PR

added to project board: https://github.com/intuit/karate/projects/3#card-66092656


Do we have options to Tokenize the secrets in json file by extracting the actual secret values form gcp secret manager

Do we have options to Tokenization / Replacing secert values the secrets in json file by extracting from actual secret values form gcp secret manager.
ex:
Json file content:
[
    {
        "entry": [
            {
                "name": "username",
                "value": "abc"
            },
            {
                "name": "password",
                "value": "projects/Project-ID/secrets/password-test"
            }
        ],
        "name": "test-secret"
    }
]

here i created secret "test" in secret manager, i want to replace json file value with actual value of password-test from secret manager.
here i mentioned only one secret, like this we have hundreds of secrets json file.

Hi @kondurure - no, that would be well outside the scope of what this GitHub Action does. You could use this GitHub Action to fetch the secret and then use another tool such as envstub, sed, or jq to replace the value in the JSON.


Fix validation with HostLocal IPAM

Allow BGP to be disabled with HostLocal IPAM
Only default Encapsulation to IPIP when IPAMCalico is being used, otherwise default to No encapsulation (for IPv4).
Validate encapsulation and BGP when not using Calico IPAM

Description

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

I've dropped the defaulting encapsulation change I had included, see my last commit for that specific change. I think maybe a bigger change should be done for the defaulting but isn't really related to the validation change needed.


python3Packages.bitlist: 0.3.1 -> 0.4.0

Motivation for this change
Update to latest upstream release 0.4.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 137199 run on x86_64-linux 1

8 packages built:

python38Packages.bitlist
python38Packages.fe25519
python38Packages.fountains
python38Packages.ge25519
python39Packages.bitlist
python39Packages.fe25519
python39Packages.fountains
python39Packages.ge25519

Result of nixpkgs-review pr 137199 at 5eac99e4 run on aarch64-linux 1

8 packages built successfully:

python38Packages.bitlist
python38Packages.fe25519
python38Packages.fountains
python38Packages.ge25519
python39Packages.bitlist
python39Packages.fe25519
python39Packages.fountains
python39Packages.ge25519


Camera streaming support

Support streaming via camera1 API or camera2 API for compatibility down to API16

Merged into develop


Playback stops after changing several tracks (data sources) in HybridMediaPlayerFactory only..

Hello h6ah4i
first of all amazing mediaplayer library, I just found one glitch while using HybridMediaPlayerFactory when my app changes tracks, after 10-15 changes it suddenly stops playback with no error or warning in logcat too :(
This is my code for changing tracks:
GlobalApp.mediaPlayer.reset();
GlobalApp.mediaPlayer.setDataSource(context, Uri.parse("file://mysong"));
 GlobalApp.mediaPlayer.setOnPreparedListener(new IBasicMediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(IBasicMediaPlayer mp) {
GlobalApp.mediaPlayer.start();
}});
GlobalApp.mediaPlayer.prepareAsync();

Above code working fine in case of OpenSLMediaPlayerFactory..
Please Suggest if I am doing something wrong...!!

also receiving this error in logcat while using hybridmediaplayerfactory
E/android.media.AudioTrack: AudioTrack.write() called with invalid size (38400) value

@hunnydarapstar Hi. Thank you for the issue report.
I am checking the implementation around using the AudioTrack class in native layer, but I do not see any implementation bugs there. Could you give me more info to investigate it?

Library version
Android OS version
Device / Model
Dump of adb shell dumpsys media.audio_flinger (while playing audio using HybridMediaPlayer)
Sample project and data to reproduce the bug

Thanks.

Hello @h6ah4i

Library Version : 0.7.2
Android OS Version : Tested on Nougat 7.1, Kitkat 4.4.2, same behaviour encountered
Device : Moto G 2014, Samsung S4 Mini
Dump of adb shell dumpsys media.audio_flinger

Library audio_pre_processing
  (no effects)
Library offload_bundle
  (no effects)
Library proxy
  Visualizer / The Android Open Source Project
    UUID: 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
    TYPE: e46b26a0-dddd-11db-8afd-0002a5d5c51b
    apiVersion: 00020000
    flags: 00400008
Library loudness_enhancer
  Loudness Enhancer / The Android Open Source Project
    UUID: fa415329-2034-4bea-b5dc-5b381c8d1e2c
    TYPE: fe3199be-aed0-413f-87bb-11260eb63cf1
    apiVersion: 00020000
    flags: 00000008
Library downmix
  Multichannel Downmix To Stereo / The Android Open Source Project
    UUID: 93f04452-e4fe-41cc-91f9-e475b6d1d69f
    TYPE: 381e49cc-a858-4aa2-87f6-e8388e7601b2
    apiVersion: 00020000
    flags: 00000008
Library visualizer_hw
  (no effects)
Library visualizer_sw
  (no effects)
Library qcreverb
  QTI Insert Preset Reverb / Qualcomm Technologies, Inc.
    UUID: b08a0e38-22a5-11e2-b87b-f23c91aec05e
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000088
  QTI Auxiliary Preset Reverb / Qualcomm Technologies, Inc.
    UUID: 53ef1db5-c0c0-445b-b060-e34d20ebb70a
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000001
  QTI Insert Environmental Reverb / Qualcomm Technologies, Inc.
    UUID: 791fff8b-8129-4655-83a4-59bc61034c3a
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000088
  QTI Auxiliary Environmental Reverb / Qualcomm Technologies, Inc.
    UUID: a8c1e5f3-293d-43cd-95ec-d5e26c02e217
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000001
Library qcvirt
  Qualcomm Virtualizer / Qualcomm Technologies, Inc.
    UUID: e6c98a16-22a3-11e2-b87b-f23c91aec05e
    TYPE: 37cc2c00-dddd-11db-8577-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000290
Library qcbassboost
  Qualcomm Bass Boost / Qualcomm Technologies, Inc.
    UUID: 23aca180-44bd-11e2-bcfd-0800200c9a66
    TYPE: 0634f220-ddd4-11db-a0fc-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000290
Library reverb
  (no effects)
Library bundle
  Volume / NXP Software Ltd.
    UUID: 119341a0-8469-11df-81f9-0002a5d5c51b
    TYPE: 09e8ede0-ddde-11db-b4f6-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000050
  Equalizer / NXP Software Ltd.
    UUID: ce772f20-847d-11df-bb17-0002a5d5c51b
    TYPE: 0bed4300-ddd6-11db-8f34-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000048
Clients:
  pid: 1084
  pid: 1262
  pid: 13358
Notification Clients:
  pid: 248
  pid: 256
  pid: 331
  pid: 716
  pid: 1084
  pid: 1262
  pid: 12806
  pid: 13358
Global session refs:
  session   pid count
      361  1262     1
     2169  1084     1
     2209 13358     4
Hardware status: 0
Standby Time mSec: 3000

Output thread 0xb5a90a40 type 0 (MIXER):
  Thread name: AudioOut_D
  I/O handle: 13
  TID: 467
  Standby: no
  Sample rate: 48000 Hz
  HAL frame count: 1920
  HAL format: 0x1 (pcm16)
  HAL buffer size: 7680 bytes
  Channel count: 2
  Channel mask: 0x00000003 (front-left, front-right)
  Processing format: 0x1 (pcm16)
  Processing frame size: 4 bytes
  Pending config events: none
  Output device: 0x2 (SPEAKER)
  Input device: 0 (NONE)
  Audio source: 0 (default)
  Normal frame count: 1920
  Last write occurred (msecs): 31
  Total writes: 21149
  Delayed writes: 0
  Blocked in write: yes
  Suspend count: 0
  Sink buffer : 0xb5cfb000
  Mixer buffer: 0xb5af1000
  Effect buffer: 0xb5cfd000
  Fast track availMask=0xfe
  Standby delay ns=3000000000
  AudioStreamOut: 0xb61c8230 flags 0x2 (PRIMARY)
  Thread throttle time (msecs): 4650
  AudioMixer tracks: 0x00000001
  Master mono: off
  FastMixer not initialized
  Stream volumes in dB: 0:0, 1:-6, 2:0, 3:-7.4, 4:-4.5, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
  Normal mixer raw underrun counters: partial=0 empty=0
  1 Tracks of which 1 are active
    Name Active Client Type      Fmt Chn mask Session fCount S F SRate  L dB  R dB    Server Main buf  Aux Buf Flags UndFrmCnt
       0    yes  13358    3 00000005 00000003    2209   4800 A 3 48000     0     0  000AB180 0xb587e000 0x0 0x400      1920
  1 Effect Chains
    3 effects for session 2209
        In buffer   Out buffer   Active tracks:
        0xb587e000  0xb5cfd000   1
        Effect ID 27:
                Session Status State Engine:
                02209   000    003   0xb5ca38b0
                Descriptor:
                - UUID: FA415329-2034-4BEA-B5DC-5B381C8D1E2C
                - TYPE: FE3199BE-AED0-413F-87BB-11260EB63CF1
                - apiVersion: 00020000
                - flags: 00000008 (conn. mode: insert, insert pref: first, volume mgmt: none, input mode: not set, output mode: not set)
                - name: Loudness Enhancer
                - implementor: The Android Open Source Project
                - Input configuration:
                        Frames  Smp rate Channels Format Buffer
                        01920   48000    00000003      1 (pcm16) 0xb587e000
                - Output configuration:
                        Buffer     Frames  Smp rate Channels Format
                        0xb587e000 01920   48000    00000003 1 (pcm16)
                1 Clients:
                          Pid Priority Ctrl Locked client server
                        13358        0  yes    yes      0      0
        Effect ID 19:
                Session Status State Engine:
                02209   000    003   0xb58ab470
                Descriptor:
                - UUID: E6C98A16-22A3-11E2-B87B-F23C91AEC05E
                - TYPE: 37CC2C00-DDDD-11DB-8577-0002A5D5C51B
                - apiVersion: 00020000
                - flags: 00000290 (conn. mode: insert, insert pref: last, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not
 set)
                - name: Qualcomm Virtualizer
                - implementor: Qualcomm Technologies, Inc.
                - Input configuration:
                        Frames  Smp rate Channels Format Buffer
                        01920   48000    00000003      1 (pcm16) 0xb587e000
                - Output configuration:
                        Buffer     Frames  Smp rate Channels Format
                        0xb587e000 01920   48000    00000003 1 (pcm16)
                1 Clients:
                          Pid Priority Ctrl Locked client server
                        13358        0  yes    yes      0      0
        Effect ID 11:
                Session Status State Engine:
                02209   000    003   0xb5ca3b30
                Descriptor:
                - UUID: 23ACA180-44BD-11E2-BCFD-0800200C9A66
                - TYPE: 0634F220-DDD4-11DB-A0FC-0002A5D5C51B
                - apiVersion: 00020000
                - flags: 00000290 (conn. mode: insert, insert pref: last, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not
 set)
                - name: Qualcomm Bass Boost
                - implementor: Qualcomm Technologies, Inc.
                - Input configuration:
                        Frames  Smp rate Channels Format Buffer
                        01920   48000    00000003      1 (pcm16) 0xb587e000
                - Output configuration:
                        Buffer     Frames  Smp rate Channels Format
                        0xb5cfd000 01920   48000    00000003 1 (pcm16)
                1 Clients:
                          Pid Priority Ctrl Locked client server
                        13358        0  yes    yes      0      0

Output thread 0xb5a1d700 type 0 (MIXER):
  Thread name: AudioOut_15
  I/O handle: 21
  TID: 469
  Standby: yes
  Sample rate: 48000 Hz
  HAL frame count: 240
  HAL format: 0x1 (pcm16)
  HAL buffer size: 960 bytes
  Channel count: 2
  Channel mask: 0x00000003 (front-left, front-right)
  Processing format: 0x5 (pcmfloat)
  Processing frame size: 8 bytes
  Pending config events: none
  Output device: 0x2 (SPEAKER)
  Input device: 0 (NONE)
  Audio source: 0 (default)
  Normal frame count: 960
  Last write occurred (msecs): 30038
  Total writes: 21987
  Delayed writes: 0
  Blocked in write: no
  Suspend count: 0
  Sink buffer : 0xb5ae3000
  Mixer buffer: 0xb5ae1000
  Effect buffer: 0xb618c000
  Fast track availMask=0xfc
  Standby delay ns=3000000000
  AudioStreamOut: 0xb61c8268 flags 0x4 (FAST)
  Thread throttle time (msecs): 0
  AudioMixer tracks: 0x00000006
  Master mono: off
  FastMixer command=COLD_IDLE writeSequence=177168 framesWritten=21260160
            numTracks=1 writeErrors=0 underruns=16 overruns=47
            sampleRate=48000 frameCount=240 measuredWarmup=15.9 ms, warmupCycles=6
            mixPeriod=5.00 ms
  Simple moving statistics over last 3.2 seconds:
    wall clock time in ms per mix cycle:
      mean=5.00 min=4.10 max=5.90 stddev=0.10
    raw CPU load in us per mix cycle:
      mean=130 min=0 max=951 stddev=65
  Fast tracks: sMaxFastTracks=8 activeMask=0x1
  Index Active Full Partial Empty  Recent Ready
      0    yes  904       0     0    full  1200
      1     no    0       0     0    full     0
      2     no  546       0   100   empty     0
      3     no    0       0     0    full     0
      4     no    0       0     0    full     0
      5     no    0       0     0    full     0
      6     no    0       0     0    full     0
      7     no    0       0     0    full     0
  Stream volumes in dB: 0:0, 1:-6, 2:0, 3:0, 4:-4.5, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
  Normal mixer raw underrun counters: partial=0 empty=0
  2 Tracks of which 0 are active
    Name Active Client Type      Fmt Chn mask Session fCount S F SRate  L dB  R dB    Server Main buf  Aux Buf Flags UndFrmCnt
       2     no   1084    1 00000001 00000003    2169   8329 S 1 44100  -inf  -inf  00004112 0xb5ae3000 0x0 0x600         0
    F  1     no   1262    0 00000001 00000001     361    960 I 0 48000   -10   -10  00000000 0xb5ae3000 0x0 0x000         0
  0 Effect Chains

USB audio module:
  No output streams.

  No input streams.

Reroute submix audio module:
 route[0] rate in=0 out=0, addr=[]
 route[1] rate in=0 out=0, addr=[]
 route[2] rate in=0 out=0, addr=[]
 route[3] rate in=0 out=0, addr=[]
 route[4] rate in=0 out=0, addr=[]
 route[5] rate in=0 out=0, addr=[]
 route[6] rate in=0 out=0, addr=[]
 route[7] rate in=0 out=0, addr=[]
 route[8] rate in=0 out=0, addr=[]
 route[9] rate in=48000 out=48000, addr=[]

I will give the sample project soon...
till then you can have a look at this.
Thanks :)

@hunnydarapstar Hi. I have just fixed the AudioTrack warning message bug 🎉  However it does not affect to the playback stopping issue though, so I'll continue trying to fix this on this weekend.

@h6ah4i Thanks for putting in the brilliant effort, you have already done marvelous job by creating this library. kudos. I know you 'll fix this soon.

@hunnydarapstar Still I cannot get reproduced the playback stopping issue on my setup. I hope your sample project will break through the current situation.

@h6ah4i Hiii
I have created sample project for you on github. Take a look here
https://github.com/hunnydarapstar/sample-openslmediaplayer-buggy
To reproduce the bug, you have to carefully change 20-25 tracks (make sure you are testing on device having more than 30 tracks), after sometime while you forward a track, playback will stop and you can start your investigation. If you need any help regarding reproducing the bug, Feel free to ask. Thanks :)

P.S I use openslmediaplayer library in build.gradle via
compile 'com.h6ah4i.android:openslmediaplayer:0.7.2'
and do not have NDK installed in Android Studio.

@hunnydarapstar Thanks for the sample app! I've been trying to reproduce the bug using the app, but still it does not occurs on my setups;
[Devices]

Nexus 5X + Android 7.1.1 (Stock ROM)
Nexus 9 + Android 7.0 (Stock ROM)
Nexus 5 + Android 6.0.1 (Stock ROM)
Asus K013 + Android 4.4.2 (Stock ROM)

[Media files]

OGG
FLAC
MP3
M4A

Is this issue can easily be reproduced on both of your devices? Also, I want to know that this issue can be reproduced when using OpenSLMediaPlayerFactory instead of HybridMediaPlayerFactory.

BTW, I found an another issue related to Android 7.0+. I am going to dig into this and possibly I report it to Google.
https://github.com/h6ah4i/android-openslmediaplayer/issues/28

UPDATE I've just reproduced the bug on my Nexus 5X!
Also, I tweaked the sample app to automate the testing

https://github.com/h6ah4i/sample-openslmediaplayer-buggy/commit/b1c2b9c554554dc50596c1b506e23211a8310117

@h6ah4i  info : this bug is only present while we use HybridMediaPlayerFactory.
You reproduced the bug, now thats called progress :)
and one more thing when playback stops you just toggle play/pause 4-5 times and again change 2-3 tracks, the playback will start again. I probably suspect when the bug is encountered, mediaplayer is hanged in some state, which it revives after again changing tracks.

Hii @h6ah4i
Any updates on this issue ?

@hunnydarapstar Have you tested the latest code on the develop branch? I think this issue has been resolved by the commit ea3c0f0. (I thought you have already successful to build the library because your question post on issue #22 has been removed.)

@h6ah4i On issue #22 my question was resolved but I again encountered another error while building the project
Android NDK: WARNING: Ignoring unknown import directory:  F:/AndroidExamples/android-openslmediaplayer/library/src/main/jni/../dep_libs/cxxdasp/android/dep_libs/cxxporthelper/android/module
Android NDK: F:/AndroidExamples/android-openslmediaplayer/library/src/main/jni/cxxporthelper/Android.mk: Cannot find module with tag 'cxxporthelper/cxxporthelper' in import path

F:/AndroidExamples/android-openslmediaplayer/library/src/main/jni/cxxporthelper/Android.mk:21: *** Android NDK: Aborting.    .  Stop.

Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
make: Entering directory `F:/AndroidExamples/android-openslmediaplayer/library/src/main/jni'
make: Leaving directory `F:/AndroidExamples/android-openslmediaplayer/library/src/main/jni'
:library:ndkBuildReleaseNonJniDebuggable FAILED

Can you fix this ?

@hunnydarapstar I am not sure what is happening, but at least it seems that you have not used SUBST command yet. Gnu tools cannot handle the path name longer than MAX_PATH (=260 chars), so you have to take care about that.
SUBST X: F:/AndroidExamples/android-openslmediaplayer

Finally, I managed to build the library, and tons of thanks the issue has been resolved. Thank you for doing a brilliant job in maintaining the library, best of luck for future :1st_place_medal:


Minor fixes for 'copy code' buttons

Currently, the copy code button JS:

Forcibly announces the 'Copy code' text when the button returns to its default text after being used, even if the user has since navigated away from the button.
Initialises ClipboardJS function multiple times for each button on the page.

[!NOTE]
This is being merged into the v5 release branch. It will not be published to the live Design System website until v5 of Frontend is released.

Changes
Removes aria-live="assertive" from the button. Removing the attribute means that nothing is announced when the text changes back to 'Copy code', unless the button is still focused when that happens. Fixes #2342.
Adds a new assertive 'status' span that makes the 'Code copied' announcement instead of the button. This is still necessary because without it, some screen readers won't announce anything.
Changes ClipboardJS function call to bind to the specific button created by the JS, rather than finding and binding to all 'copy code' buttons on the page. The loop in application.mjs already ensures that an instance of Copy is created for each button on the page.
This additionally allows for removing the js-copy-button class from the button, as it's no longer used.
Thoughts
The new 'status' span doesn't make use of role="status". I've opted not to use it as it seems like this role is more suited to an element that provides a variety of updates about things that the user has not necessarily initiated directly by clicking a button (i.e. the upload progress of a list of files).
I've kept the aria-live attribute as assertive, as giving immediate feedback to a user action (activating the button) seems important so that the user knows their action has worked, whereas they may try to activate the button multiple times if any feedback from it is deferred.

Hmm, my optimism about removing aria-live seems like it was premature. Whilst it worked fine in my normal set up (VoiceOver with Firefox), it is much less consistent with other browser and screen reader combinations.
On whether each key activated the 'Copy code' button, and if so, whether it made an announcement or not.
✅ = Button activated and announced 'Code copied'.
🔇 = Button activated but no or incorrect announcement.
❌ = Button not activated.
— = Not applicable / not tested.

Screen reader / Browser
On click
Space
⏎ Return
⌅ Enter (numpad)
Other

JAWS 2023.2303 / Chrome 116
🔇
🔇
✅
❌
—

NVDA 2023.1 / Firefox 115
🔇
✅
✅
❌
NVDA shortcut (Insert + ⏎ Return)✅

VoiceOver (macOS 13.4.1) / Safari 16.5
✅
🔇
🔇
🔇
VO shortcut (⌃ Control + ⌥ Option + Space)✅

VoiceOver (iOS 17.0 beta) / Safari 17.0 (beta)
✅
—
—
—
—

Morning @querkmachine, think we should probably make this fix on release/5.0
We're using <script type="module"> with classes, no init() functions etc
Helps avoid one big conflicts and porting the changes again

Trying the approach where there's a separate 'status' element that has the aria-live="assertive" attribute instead.
I'm not at a keyboard with a numpad today so I'm not able to test all of the same key combinations as before.
✅ = Button activated and announced 'Code copied'.
🔇 = Button activated but no or incorrect announcement.
❌ = Button not activated.
— = Not applicable / not tested.

Screen reader / Browser
On click
Space
⏎ Return
⌅ Enter (numpad)
Other

JAWS 2023.2303 / Chrome 116
✅
✅
✅
—
—

NVDA 2023.1 / Firefox 115
✅
✅
✅
—
—

VoiceOver (macOS 13.4.1) / Safari 16.5
✅
✅
✅
—
VO shortcut (⌃ Control + ⌥ Option + Space)✅

VoiceOver (iOS 17.0 beta) / Safari 17.0 (beta)
✅
—
—
—
—

Note that in almost all of these cases the "Code copied" announcement was now repeated, as the screen reader was announcing both the text of the button and the status announcement.

Hi @querkmachine I'm seeing 49 files changed here and a lot of the changes in the first few files look quite technical in nature. Not sure I can do a full and reliable review on this piece.
Are there specific questions you had where I could weigh in on accessibility considerations?

Sorry @davidc-gds, we frequently rebase the release/v5 branch to keep in-sync with main
@querkmachine would you mind rebasing to pick up the latest?
If you like, optionally drop the top commit since it brings in the Summary List duplicate macro option IDs

Update GOV.UK Frontend v5.0.0 preview

I've rebased release/v5 again this afternoon with the duplicate IDs removed from main
Pushed an update to this branch too

I've used the virtual keyboard in Assistiv Labs and my personal external keyboard with numpad to test the numpad enter key.
I've also tested on keyboard without a screen reader, to serve as a baseline.
✅ = Button activated and announced 'Code copied'.
🔇 = Button activated but no or incorrect announcement.
❌ = Button not activated.
— = Not applicable / not tested.

Screen reader / Browser
On click
Space
⏎ Return
⌅ Enter (numpad)
Other
Notes

No screenreader / Chrome 116
✅
✅
✅
✅
—
No announcement

JAWS 2023.2303 / Chrome 116
✅
✅
✅
✅
—
Announces once

NVDA 2023.1 / Firefox 115
✅
✅
✅
✅
—
Announces twice

VoiceOver (macOS 13.4.1) / Safari 16.5
✅
✅
✅
✅
VO shortcut (⌃ Control + ⌥ Option + Space)✅
Announces once

VoiceOver (iOS 17.0 beta) / Safari 17.0 (beta)
✅
—
—
—
—
Announces twice

I have a potential workaround that doesn't involve a separate status message area: try aria-relevant="additions".

@dav-idc Was this with the ARIA attribute always being present, or with it being added/removed/changed when the button text is modified?
It'd be strange for additions to announce the change of text from 'Copy code' to 'Code copied' but not also announce the reverse, as the label is updated via the same mechanism for each. (According to the spec, it doesn't seem like it should announce either of them, as additions is only relevant to element node additions, whereas this is a text node change!)

@dav-idc Was this with the ARIA attribute always being present, or with it being added/removed/changed when the button text is modified?

Hey @querkmachine yeah that's right, that's with the current implementation where the ARIA attribute is always present, and just the text is being changed.

It'd be strange for additions to announce the change of text from 'Copy code' to 'Code copied' but not also announce the reverse, as the label is updated via the same mechanism for each. (According to the spec, it doesn't seem like it should announce either of them, as additions is only relevant to element node additions, whereas this is a text node change!)

Ahh I see, I've made the same thing you did earlier when testing with aria-live removed. I tested NVDA which seemed good, and I tested VoiceOver on Mac with Chrome, which also worked. But it doesn't announce properly on VoiceOver on Mac with Safari, which matches with that you were finding.
Scrap this, my bad!

Does this just need a code review now? Are we happy with the change accessibility-wise?

Does this just need a code review now? Are we happy with the change accessibility-wise?

Code review wise, think so
Got some feedback in https://github.com/alphagov/govuk-design-system/pull/3080#issuecomment-1686034093
We're targeting release/5.0 so may want JSDoc and arrow functions etc. Not caused by this PR, but added some feedback on error handling and ClipboardJS.isSupported() in the documentation

If there are changes pending after that earlier review, should this move back in to 'in progress' until those are addressed?

Rebased again with the release/5.0 branch

Thanks for addressing the feedback @querkmachine
I'll give it a quick run through, but only some minor formatting things then let's merge 🎉


Content of page interchanegd or mixed with Add-In and Client Side Page

Content of page interchanged or mixed with Add-In and Client-Side Page.
As an End User for beginner, He may be looking at REST Operation with cookie or Request Digest, not with Add-In Access Token based approach which is different.
For Beginner SharePoint Developer or someone who wants to explore the Sharepoint world then this content is very confusing.

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

ID: 916d6284-9149-5d95-48d8-40c60ba9f3c7
Version Independent ID: 9c41a103-56d6-c186-26aa-ccd098a61f7e
Content: Use OData query operations in SharePoint REST requests
Content Source: docs/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests.md
Product: sharepoint
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

I'm unclear on your comment. This page is very basic about making requests to the SharePoint REST API. It only includes HTTP requests which are the most basic requests to the REST API. How you make those requests (add-in / client-side script, etc) gets a bit more complex and the docs in those respective sections cover calling the SharePoint REST API.
Not sure there's anything actionable here... therefore closing. Feel free to submit a new comment if you feel this was closed in error.


If a component's subcomponent has Props, the page will be rendered twice

Version
2.6.10
Reproduction link
https://codesandbox.io/s/vue-template-l5s3n
Steps to reproduce
https://codesandbox.io/s/vue-template-l5s3n
See the difference by clicking on the top menu and the refresh button below
What is expected?
rendered once
What is actually happening?
rendered twice

Actually, if I replaced created with mounted(@/src/components/layout.vue), it will be OK
but I still think there may be some problems here
I did change the value of this.level List.But I don't think it should affect other subcomponents.

it renders twice because the url is /home/home (the way you declared in routes).
Please, next time consider using the forum, the Discord server or StackOverflow for questions first. But feel free to come back and open an issue if it turns out to be a bug 🙂. Also make sure to provide precise information about what specific buttons to click, and what component is rendering more, or what log is expected, it will make it easier for us as well. Finally, this involves vue-router as well and issues should be opened in that repo instead


Adding a quiet flag for displaying less messages in terminal

🤔 Objective and Motivation
The objective of these changes are to purpose adding an optional flag -q/--quiet to display less output in terminal. My motivation for this flag is to remove overhead when using asc with ansible. I'm using the following command in my ansible playbook:
asc profiles list --json --filter-name "App Store {{ app_name }}" --download-path .

...and I get the following output:
"stdout": "📥 Profile 'App Store Test001010002' downloaded to: ./aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa.mobileprovision\n[{\"createdDate\":619333688,\"expirationDate\":620178602,\"name\":\"App Store Test001010002\",\"platform\":\"IOS\",\"profileContent\":\"MdMIIdqAAYJKoZIhvcNAQQcCoIIdmTCCHZCUCAQExCzACJB........

The "stdout" is now malformed json and requires additional parsing to work correctly by filtering out the "📥 Profile 'App Store Test001010002' downloaded to: ./aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa.mobileprovision\n". With the --quiet flag added, the command now looks like this:
asc profiles list --quiet --json --filter-name "App Store {{ app_name }}" --download-path .

...and the json returned to stdout is no longer malformed so now I get the following output:
"stdout": "[{\"createdDate\":619333688,\"expirationDate\":620178602,\"name\":\"App Store Test001010002\",\"platform\":\"IOS\",\"profileContent\":\"MdMIIdqAAYJKoZIhvcNAQQcCoIIdmTCCHZCUCAQExCzACJB........

📝 Summary of Changes
Changes proposed in this pull request:

Adds the optional flag -q/--quiet to display less in terminal.

⚠ Items of Note
Document anything here that you think the reviewer(s) of this PR may need to know, or would be of specific interest.
The --quiet only changes the output of a CommonParsableCommand that has not been commented with a TODO. The changes do not affect Renderers output.
🧐🗒 Reviewer Notes
💁 Example
swift run asc profiles list --quiet --json --filter-name "Cool App" --download-path ~/Documents/Cool\ App

🔨 How To Test
Run these command and notice the messaging in terminal:
swift run asc profiles list --json --filter-name "Cool App" --download-path ~/Documents/Cool\ App
swift run asc users sync ~/Documents/fake.json --dry-run
swift run asc certificates list
swift run asc certificates read "M109UYTGSF007" --certificate-output distribution.cer
swift run asc certificates revoke "M109UYTGSF007"

Run the same commands with -q/--quiet added and notice less messaging in terminal:
swift run asc profiles list --quiet --json --filter-name "Cool App" --download-path ~/Documents/Cool\ App
swift run asc users sync -q ~/Documents/fake.json --dry-run
swift run asc certificates list -q
swift run asc certificates read --quiet "M109UYTGSF007" --certificate-output distribution.cer
swift run asc certificates revoke --quiet "M109UYTGSF007"

Hey @csjones, thank you for your contribution. You've prompted a discussion on our end with this PR about whether quiet, output only commands should be the default response. That is, whether or not this should be implemented as only logging these Certificate downloaded Certificate revoked messages when a --verbose flag is passed.
This would then need to be rolled out across other commands so that the output of all commands is parsable by default. Did you have an extra thoughts on the matter for your use case?

I agree with @adamjcampbell here.  I think the stuff like 📥 Profile 'X' downloaded to: ... should only be printed when a --verbose flag was in effect.
🤔 One thing to consider is perhaps when using --json, --yaml, and --csv, --verbose could be false but with --table it could be true?  Given that the computer parsable formats are more likely to be used in pipes than the table output which is designed for interactive use.  Thoughts?

Hey @adamjcampbell @orj, I'm in favor of these changes. I think machine parsable by default and a --verbose option instead of --quiet makes a lot sense, especially for my use case. Also makes sense to default --verbose to true when using the human parseable --table option.
I would propose one more additional change. When using --json (or any machine parsable format) to minimize the output by default instead of pretty printing the output. Currently, --json is using a prettify option and adds additional whitespace and newlines which needs to be filtered out.

@csjones sounds good to me. Are you happy to make those changes for this command / this PR?
In regards to the pretty formatting of json I would think filtering out the white space would be optional. It shouldn't affect the ability to parse the JSON. However we could have it as an option or the default when not in verbose mode.
What are your thoughts on the matter?

@adamjcampbell Perhaps we can have a --pretty option for prettifying the json.  Mostly I think you would be piping json output into a tool like jqand jq can pretty it for you.

@adamjcampbell Sure! I'll make the changes and update the PR. For pretty printing output, I'm leaning towards removing .prettyPrinted since --pretty currently does not exist and I prefer @orj's idea of using jq if needed because my use case is aimed towards better accommodating machine parsable output. Additionally, I could also create a new GitHub issue to add a --pretty option and see if any other asc users would prefer to have this feature flag added.
Does this list of changes look good?
Summary of changes:

[ ] Change --quiet to be --verbose
[ ] --verbose defaults to false except when --table is used
[ ] Remove use of .prettyPrinted
[ ] Create GitHub issue for --pretty feature flag

@csjones sounds like a plan! Thanks for all your efforts on this.


Update browser page address on navigation. Fixes #24

If accepted this PR enables bookmarking and url sharing, so people can navigate within content of the page.
This commit modifies original function in that way that
clicking on navigation menu will in effect update browser
location allowing url sharing and bookmarking, etc.
In modern browsers HTML5 History.pushState is used together
with animation effect - while on older browser fall back is
provided by just doing nothing - which in effect will simply
update window.location.hash and scroll page in browser as per
specification.

Thanks!

Thanks for this, and the other PRs! :+1:

yes! missed your PR's @peterblazejewicz but they fixed most of my TODO's soo happy :+1:


Invoke-PageStackQuery shalle be Invoke-BookStackQuery

Hi,
nice work with that PowerShell module.
I found an issue at the Export-BsPage.ps1 cmdlet.
Invoke-PageStackQuery should be Invoke-BookStackQuery.
https://github.com/My-Random-Thoughts/psBookStack/blob/5aecc39e7ab16696d15d79557de499dcbbe6da05/public/Export-BsPage.ps1#L44
cheers
Richard

How did I miss that!?
Thank you, fixed now


[Change Proposal] Otbn key wipe request to keymgr

Keymgr sideload, generally speaking, is actuated by software.  Software commands keymgr to setup sideload keys for a specific target and requests keymgr to discard them when the operation is complete.  This works fine for Aes / Kmac.
For Otbn, the story is a bit different since Otbn also runs its own software stack. Otbn thus knows exactly when it has no more use of the keys, but this may happen in the middle of its execution and it is not able to inform the host software to clear key manager keys.
Ideally, the long term solution is that Otbn should be made an equivalent controller of keymgr as the ibex is.  This would however require some mutexing between the two sides to correctly arbitrate.
For now, this proposal suggests we add a "key wiping request" from otbn to keymgr, so at least we are able to discard the otbn key when it is no longer needed.

estimate 2

@moidx
@felixmiller

@weicaiyang , this obviously increases the burden on keymgr verification.  Specifically on the otbn sideload key (this does not apply to the other interfaces). Can you let me know what you think? I don't personally think this feature is critical (conferring with others to make sure), so this is something we could consider tabling.

@tjaychen
I think it's OK. We can add it. This should be a very simple feature to DV.

I'd see a "wipe the sideloaded key" request from OTBN to the key manager as optimization, but not as necessity.
If the author of a crypto routine wants to remove the sideloaded key from the key manager after a certain point in time, they can use a workaround like this:

Execute the first part of the crypto routine on OTBN which reads the sideloaded key. Store the key in OTBN's DMEM (either raw, or in some processed form).
End the routine on OTBN, hand control back to Ibex.
Have software on Ibex instruct the key manager to remove the sideloaded key.
Execute the second part of the crypto routine.
On Ibex, read the results and instruct OTBN to wipe the DMEM.

That's not as performant as having a "delete key request" from OTBN to the key manager, but it's not massively slow either (effectively 1 interrupt latency and a couple instructions on Ibex).
Given our current schedule situation and the availability of a (as I find) reasonable workaround, I'd not implement the feature.

Agreed that this is nice-to-have.  @imphil 's proposed workaround looks OK if this is considered necessary for a specific OTBN crypto routine.

@jadephilipoom for quick opinion pls: Seems ok for ibex to trigger key wipe and no direct trigger from OTBN to key mgr is needed, WDYT?

Yep, agreed, the summary above by @imphil makes sense to me. Especially since the keymgr use cases will normally be two-step anyway (generate private key from seed, then generate public key from private key), passing back to Ibex is not prohibitively inconvenient.

Closing this issue since discussion reasonable shows we do not need this.


Unable to start multprocTCPBase on thespian shell

Hi,
I've been trying to create an actor system in my windows 10 laptop, without success: I keep receiving the message thespian.actors.InvalidActorAddress: ActorAddr-(T|:1900) is not a valid ActorSystem admin, although this port is not being used by any program, as given by netstat -ano -p tcp:
C:\Users\josee>netstat -ano -p tcp

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    <IP_ADDRESS>:135            <IP_ADDRESS>:0              LISTENING       1616
  TCP    <IP_ADDRESS>:445            <IP_ADDRESS>:0              LISTENING       4
  TCP    <IP_ADDRESS>:2179           <IP_ADDRESS>:0              LISTENING       3324
  TCP    <IP_ADDRESS>:5040           <IP_ADDRESS>:0              LISTENING       7148

I then tried to start the the actor system in the thespian shell, to no avail:
Microsoft Windows [Version 10.0.19045.4894]
(c) Microsoft Corporation. All rights reserved.

C:\Users\josee>d:

D:\>cd D:\Dados\quant\research\actor_model

D:\Dados\quant\research\actor_model>python -m thespian.shell
Thespian Actor shell.  Type help or '?' to list commands.'

thespian> start multprocTCPBase
Starting multprocTCPBase ActorSystem
Capabilities: {}
***ERROR starting ActorSystem with specified Base: multprocTCPBase
Traceback (most recent call last):
  File "D:\ProgramData\Anaconda3\lib\site-packages\thespian\shell.py", line 122, in do_start
    self.system = ActorSystem(base, caps)
  File "D:\ProgramData\Anaconda3\lib\site-packages\thespian\actors.py", line 637, in __init__
    systemBase = self._startupActorSys(
  File "D:\ProgramData\Anaconda3\lib\site-packages\thespian\actors.py", line 673, in _startupActorSys
    module = importlib.import_module('thespian.system.' + systemBase)
  File "D:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'thespian.system.multprocTCPBase'
thespian>

I've already tried to turn off Mcafee firewall, as well as uninstall and re-install thespian, but without success.
Do you have any idea of what might be happening and what can I do?
Thank you for your attention,

Howdy.  Regarding the shell start, the base has an “i” in multi - multiprocTCPBase.

@dpeschman Thank you very much for your observation!
However, I am still unable to create the actor system:
Microsoft Windows [Version 10.0.19045.4894]
(c) Microsoft Corporation. All rights reserved.

C:\Users\josee>d:

D:\>cd D:\Dados\quant\research\actor_model

D:\Dados\quant\research\actor_model>cd
D:\Dados\quant\research\actor_model

D:\Dados\quant\research\actor_model>python -m thespian.shell
Thespian Actor shell.  Type help or '?' to list commands.'

thespian> start multiprocTCPBase
Starting multiprocTCPBase ActorSystem
Capabilities: {}
***ERROR from Actor System: ActorAddr-(T|:1900) is not a valid ActorSystem admin
thespian>

Any idea?

This may be due to some Windows firewall or virus protection. You might
check those settings, or try a different port (those above 16384 are
commonly used for users).
On Tue, Sep 24, 2024, 14:43 jemferraz @.***> wrote:

@dpeschman https://github.com/dpeschman Thank you very much for your
observation!
However, I am still unable to create the actor system:
Microsoft Windows [Version 10.0.19045.4894]
(c) Microsoft Corporation. All rights reserved.
C:\Users\josee>d:
D:>cd D:\Dados\quant\research\actor_model
D:\Dados\quant\research\actor_model>cd
D:\Dados\quant\research\actor_model
D:\Dados\quant\research\actor_model>python -m thespian.shell
Thespian Actor shell.  Type help or '?' to list commands.'
thespian> start multiprocTCPBase
Starting multiprocTCPBase ActorSystem
Capabilities: {}
***ERROR from Actor System: ActorAddr-(T|:1900) is not a valid ActorSystem admin
thespian>
Any idea?
—
Reply to this email directly, view it on GitHub
https://github.com/thespianpy/Thespian/issues/74#issuecomment-2371516098,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGAHXNRRYWBM3GURWO4PATZYF3B7AVCNFSM6AAAAABOYGQGM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZRGUYTMMBZHA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@kquick Thank you very much for your suggestions!
However, after turning off both the antivirus firewall (McAfee LiveSafe) and the Windows firewall & network protection (Domain, Private and Public networks), I was still unable to start the actor system. I've also tried to use different ports (1901 and 16385), and I've also added an inbound rule for ports 1901 to 1950 in the Windows Defender Firewall to allow Pyhon programs, but none of these actions worked out, and I kept on receiving the same type of error,  namely:
ActorAddr-(T|:16385) is not a valid ActorSystem admin

Sorry to bother, but do you have any suggestion? Do you think that there might be a problem in the hardware (I am currently  testing using a Dell Inspiron 7580 laptop, with Windows 10 Pro, but previously I have run the model in a different machine, a Dell desktop without any problem...)?

This bug is a regression that was introduced after version 3.10.5. This version is still working for me with the multiprocTCPBase implementation under Windows. The newest version doesn't.

@mistrey Ah, got it... May have to revert back to the previous version then. Thanks for the insight!


Complete overhaul of the codebase

I'm opening up this pull request now to keep track of what needs to be done.
Hit objects

[x] Beat
[x] Hard Beat
[x] Sliders

Judgement

[x] Beat
[x] Hard Beat
[x] Slider // In consideration of change
[x] Judgement results

[x] Paddle distribution
[x] Timing distribution

Effects

[x] Kiai

[x] Classic
[x] Turbulent

[x] Slider "drag"
[x] Playfield visualizer

Skinning -- will be done in a separate PR.
Mods

[x] Autoplay
[x] Cinema
[x] Daycore
[x] Difficulty Adjust
[x] Double time
[x] Easy
[x] Fade in
[x] Flashlight
[x] Half time
[x] Hard rock
[x] Inverse
[x] Lite
[x] Nightcode
[x] No fail
[x] Perfect
[x] Relax
[x] Sudden Death

Extras

[x] Replay
[x] Settings

[x] Show visualizer
[x] Playfield Dim
[x] Beat size
[x] Kiai Effect

Possibly more to come but I can't think of any at the moment.

All tasks are currently completed now, the only things that are left are the little touches and bug fixes which are listed below. Thanks to Nooraldeen and Perigee in finding these for me.

[ ] Particles of sliders still show in fade in
[ ] Resume overlay
[ ] Make a note about standardised health bar / could be fixed with slider ticks?
[ ] Hard rock doesn't rotate sliders
[ ] Inverse should be in the fun category
[ ] Slider repeats aren't properly in place in really fast sliders / only present with the Impossible Sliders mod on.
[ ] BPM should affect turbulence velocity
[ ] Apply a wind effect with the paddle in the turbulence kiai effect
[ ] Sliders should affect visualizer
[ ] SLider bodies should get bigger with beat size
[ ] Slider particles should only show in kiais
[ ] Spinner -> Slider conversion
[ ] New repeats design
[ ] Ticks
[ ] Flashlight and Impossible mod slider guide / possibly in a later pr?
[ ] Tau icon


synthPendingDepth breaks TC caching

Description
It is possible to break TC caching, i.e. to create an unexpected interaction between supposedly independent elaboration steps doing the same TC query, if they occur at different depths. This is because the depth can influence the result but is not currently included in the caching logic.
Context
https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Typeclass.20search.20is.20affected.20by.20other.20subexpressions. More data on impact should be collected, but the indirectness of the issue may make it hard for users to notice they are affected by this specific issue.
Steps to Reproduce
From Eric. Needs to be MWE'd, which should be more feasible now that we know what we need to look for (a sufficiently deep dependent TC hierarchy).
import Mathlib.Analysis.NormedSpace.OperatorNorm

variable (𝕜 : Type) [NontriviallyNormedField 𝕜]
variable (E : Type) [SeminormedAddCommGroup E] [NormedSpace 𝕜 E]

abbrev Dual : Type _ := E →L[𝕜] 𝕜

def inclusionInDoubleDual : E →L[𝕜] Dual 𝕜 (Dual 𝕜 E) := sorry

example : ‖inclusionInDoubleDual 𝕜 E‖ = 0 := by
  -- this `rw` is needed to make the `have` below work
  -- rw [inclusionInDoubleDual]
  haveI : Norm (Dual 𝕜 E →L[𝕜] Dual 𝕜 E) := inferInstance
  sorry

Here we first encounter (at inclusionInDoubleDual 𝕜 E) SeminormedAddCommGroup (Dual 𝕜 E) as a nested TC problem, which fails because of the depth restriction. Then at inferInstance we encounter it as a non-nested problem, which nevertheless uses the cached failure. Inserting the rewrite resets the cache and make the second problem succeed.
Trace paths to the two problems without the rewrite:
[Meta.synthInstance] ✅ Norm (E →L[𝕜] Dual 𝕜 (Dual 𝕜 E))
  [Meta.synthInstance] ✅ apply @ContinuousLinearMap.hasOpNorm to Norm (E →L[𝕜] Dual 𝕜 (Dual 𝕜 E))
    [Meta.synthInstance.tryResolve] ✅ Norm (E →L[𝕜] Dual 𝕜 (Dual 𝕜 E)) ≟ Norm (E →L[𝕜] Dual 𝕜 (Dual 𝕜 E))
      [Meta.synthInstance] ✅ SeminormedAddCommGroup (Dual 𝕜 (Dual 𝕜 E))
        [Meta.synthInstance] ✅ apply @ContinuousLinearMap.toSeminormedAddCommGroup to SeminormedAddCommGroup
              (Dual 𝕜 (Dual 𝕜 E))
          [Meta.synthInstance.tryResolve] ✅ SeminormedAddCommGroup
                (Dual 𝕜 (Dual 𝕜 E)) ≟ SeminormedAddCommGroup (Dual 𝕜 E →L[𝕜] 𝕜)
            [Meta.synthInstance] ❌ SeminormedAddCommGroup (Dual 𝕜 E)
              [Meta.synthInstance] ❌ apply @ContinuousLinearMap.toSeminormedAddCommGroup to SeminormedAddCommGroup
                    (Dual 𝕜 E)
                [Meta.synthInstance.tryResolve] ❌ SeminormedAddCommGroup
                      (Dual 𝕜 E) ≟ SeminormedAddCommGroup (?m.4617 →SL[?m.4625] ?m.4618)
                  [Meta.synthPending] too many nested synthPending invocations
...
[Meta.synthInstance] ❌ Norm (Dual 𝕜 E →L[𝕜] Dual 𝕜 E)
  [Meta.synthInstance] ❌ apply @ContinuousLinearMap.hasOpNorm to Norm (Dual 𝕜 E →L[𝕜] Dual 𝕜 E)
    [Meta.synthInstance.tryResolve] ❌ Norm (Dual 𝕜 E →L[𝕜] Dual 𝕜 E) ≟ Norm (?m.8118 →SL[?m.8126] ?m.8119)
      [Meta.synthInstance] ❌ SeminormedAddCommGroup (Dual 𝕜 E)
        [Meta.synthInstance] result <not-available> (cached)

Expected behavior: The rewrite should not affect the unrelated TC query.
Actual behavior: It does.
Versions
g63d2bdd490

Based on the following, it looks like "sufficiently nested" is "nested once":
https://github.com/leanprover/lean4/blob/13ca443f058b0e33e44a9fdba347a53330463348/src/Lean/Meta/SynthInstance.lean#L762-L765

Here is a mathlib-free version of the above example:
class Norm' (E : Type) where
  norm : E → Nat

export Norm' (norm)

class TopologicalSpace' (α : Type) where
  random : α -- need something here for some reason

class SeminormedAddCommGroup' (α : Type) extends Norm' α, TopologicalSpace' α where

-- need to extend Norm' again for some reason; note that this doesn't seem to cause a diamond
class NonUnitalSeminormedRing' (α : Type) extends Norm' α, SeminormedAddCommGroup' α where

variable (𝕜 : Type) [NonUnitalSeminormedRing' 𝕜]
variable (E : Type) [SeminormedAddCommGroup' E]

structure ContinuousLinearMap' (M : Type) [TopologicalSpace' M] (M₂ : Type) [TopologicalSpace' M₂] where

notation:25 M " →z " M₂ => ContinuousLinearMap' M M₂

abbrev Dual : Type := E →z 𝕜

instance ContinuousLinearMap'.toSeminormedAddCommGroup' {E : Type} {F : Type}
    [SeminormedAddCommGroup' E] [SeminormedAddCommGroup' F] :
  SeminormedAddCommGroup' (E →z F) := sorry

def foo : E →z Dual 𝕜 (Dual 𝕜 E) := sorry

#synth SeminormedAddCommGroup' (Dual 𝕜 E) -- works fine

set_option trace.Meta.synthInstance true
example : norm (foo 𝕜 E) = 0 := by
  -- this `rw` is needed to make the `have` below work
  --rw [foo]
  have : SeminormedAddCommGroup' (Dual 𝕜 E) := inferInstance -- fails
  sorry

The relevant traces are:
1) On `norm (foo 𝕜 E)`:

[Meta.synthInstance] ✅ Norm' (E →z Dual 𝕜 (Dual 𝕜 E)) ▼
  [] new goal Norm' (E →z Dual 𝕜 (Dual 𝕜 E)) ▶
  [] ✅ apply @NonUnitalSeminormedRing'.toNorm' to Norm' (E →z Dual 𝕜 (Dual 𝕜 E)) ▶
  [] ❌ apply inst✝¹ to NonUnitalSeminormedRing' (E →z Dual 𝕜 (Dual 𝕜 E)) ▶
  [] ✅ apply @SeminormedAddCommGroup'.toNorm' to Norm' (E →z Dual 𝕜 (Dual 𝕜 E)) ▶
  [] ❌ apply inst✝ to SeminormedAddCommGroup' (E →z Dual 𝕜 (Dual 𝕜 E)) ▶
  [] ✅ apply @ContinuousLinearMap'.toSeminormedAddCommGroup' to SeminormedAddCommGroup' (E →z Dual 𝕜 (Dual 𝕜 E)) ▼
    [tryResolve] ✅ SeminormedAddCommGroup' (E →z Dual 𝕜 (Dual 𝕜 E)) ≟ SeminormedAddCommGroup' (E →z Dual 𝕜 (Dual 𝕜 E)) ▼
      [] ✅ SeminormedAddCommGroup' E ▶
      [] ✅ SeminormedAddCommGroup' (Dual 𝕜 (Dual 𝕜 E)) ▼
        [] new goal SeminormedAddCommGroup' (Dual 𝕜 (Dual 𝕜 E)) ▶
        [] ❌ apply inst✝ to SeminormedAddCommGroup' (Dual 𝕜 (Dual 𝕜 E)) ▶
        [] ✅ apply @ContinuousLinearMap'.toSeminormedAddCommGroup' to SeminormedAddCommGroup' (Dual 𝕜 (Dual 𝕜 E)) ▼
          [tryResolve] ✅ SeminormedAddCommGroup' (Dual 𝕜 (Dual 𝕜 E)) ≟ SeminormedAddCommGroup' (Dual 𝕜 E →z 𝕜) ▼
            [] ❌ SeminormedAddCommGroup' (Dual 𝕜 E) ▼
              [] new goal SeminormedAddCommGroup' (Dual 𝕜 E) ▶
              [] ❌ apply inst✝ to SeminormedAddCommGroup' (Dual 𝕜 E) ▶
              [] ❌ apply @ContinuousLinearMap'.toSeminormedAddCommGroup' to SeminormedAddCommGroup' (Dual 𝕜 E) ▼
                [tryResolve] ❌ SeminormedAddCommGroup' (Dual 𝕜 E) ≟ SeminormedAddCommGroup' (?m.8308 →z ?m.8309)

2) Later, on `inferInstance`

[Meta.synthInstance] ❌ SeminormedAddCommGroup' (Dual 𝕜 E) ▼
  [] result <not-available> (cached)

Re: "More data on impact should be collected."
It was a common issue during the port that a big simp only [A,B,C,D,E,...] block which worked in Lean 3 would fail in Lean 4. Nobody ever understood why. Often it was a case that one random simp lemma was not firing for reasons nobody could understand, and the proof could be fixed (after a lot of debugging) by changing it to simp only [A,D]; rw [B]; simp only [C,E,...].
Scott attempted to start collecting examples in https://github.com/leanprover-community/mathlib4/issues/5026 but only very late on during the porting process. I also made a more haphazard collection of some examples where simp only [X] failed but rw [X] succeeded at this Zulip thread. The example here started off as such an issue: see here (this example was coming from porting the sphere eversion project). A week later Patrick had entirely taken the simp call apart and it was an instance of the standard phenomenon: simp only [X] would fail but rw [X] would work. Then Eric took over and we ended up with the example which starts this thread.  So perhaps some subset of the failing simp only calls are due to this phenomenon. However https://github.com/leanprover/lean4/issues/2461 also started off as another example of the "simp only [X] fails, rw [X] works" phenomenon and it wouldn't surprise me if it were unrelated. Hence it's difficult for me to know how much disruption this particular issue is causing.


Govee Recessed 4 in Lighting (H601B) Not Showing Up

I added some Govee recessed lighting to my kitchen. The H601A (6 in puck) pulled into Home Assistant no problem but the H601B (4 in puck) does not show up. Any ideas how to get it to?

The device needs to have the LAN API enabled and be accessible as described in the readme.
I recommend using static IP assignments (eg: via your router's DHCP configuration) to avoid potential issues when DHCP leases expire.
https://github.com/wez/govee-lan-hass#tips-on-enabling-the-lan-api

The device needs to have the LAN API enabled and be accessible as described in the readme.
I recommend using static IP assignments (eg: via your router's DHCP configuration) to avoid potential issues when DHCP leases expire.
https://github.com/wez/govee-lan-hass#tips-on-enabling-the-lan-api

I have the exact same issue, however both the H601A (6") and H601B (4") unfortunately do not support the LAN API, at least they are not listed on their Support page as supported models.
So in this case Cloud API is only option, but it's interesting only the smaller variant is not picked up. They do show up via the Google Home integration so they do have Cloud API support somehow. The regular hacs-govee integration/repo has the same problem. It is possible support needed to be added on the HA integration side for the B variant?

Does anyone know for specific model support that is missing, should I file an issue with one of the parent dependencies that this Integration uses?

I contacted Govee and they said they would be adding the 4 inch to the API in December 2023.

I contacted Govee and they said they would be adding the 4 inch to the API in December 2023.

Is that the cloud api or the LAN api (or both?)
I had thought that all their lights were available via the cloud api, and only the LAN api required a firmware update and certain hardware variants on specifically (usually v2) is required.
Either way very exciting I will keep an eye on this!

Update: Govee relaunched their API site, and this model is now listed as supported:
https://developer.govee.com/docs/support-product-model
After an HA restart i'm now seeing them pulled into the official govee integration, but this integration seemed to pull them in automatically via polling (no restart required),

Sounds like this is good now, so closing!


Feedback

Very nice idea! I think the scope of this project is perfect for the remainder of this block. You have a clear idea of how your package will help your users and the goal of each function. Here are some things to think about for next time:

What type of data structures will your functions allow? Numpy arrays, lists, dictionaries, pandas dataframes, scipy.sparse? The more flexibility the better.
Some data may use 0 for missing values, or None, or np.NaN, or np.inf. Be sure to handle all these cases or allow the user to specify which token is used for missing values.
How will your app handle extremely sparse datasets? Should you impute in this case?
How will the visualization change if the user enters a very large dataset?

You don't have to implement all these changes but you should handle errors and malicious input gracefully.

Moved bullets to individual issues to track progress


Fix conflict

This change is

Codecov Report
Attention: 15 lines in your changes are missing coverage. Please review.

Comparison is base (63c0bfd) 67.14% compared to head (45da66d) 67.10%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

crates/native_blockifier/src/py_transaction.rs
0.00%
9 Missing :warning:

crates/native_blockifier/src/py_deploy_account.rs
0.00%
4 Missing :warning:

crates/native_blockifier/src/py_declare.rs
0.00%
1 Missing :warning:

crates/native_blockifier/src/py_invoke_function.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1131      +/-   ##
==========================================
- Coverage   67.14%   67.10%   -0.05%
==========================================
  Files          51       51
  Lines        6608     6602       -6
  Branches     6608     6602       -6
==========================================
- Hits         4437     4430       -7
- Misses       1769     1770       +1
  Partials      402      402

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Question: Can I use TileX/ TileY via the API?

Hi! I'm using Unity to connect to the local Automatic1111 API to create dynamic textures on the fly. Is there a way to access the TileX/ TileY settings using the API? Thanks!

Hi; I'm afraid I haven't used the WebUI's API so I'm not an expert, but as far as I can tell it doesn't seem to have any ability to use custom scripts or extensions right now? The WebUI would have to add that support. If it ever does so, I would (perhaps optimistically) expect the asymmetric tiling extension to work with it.

Reading around a little more, there does seem to be a mechanism for the API to call endpoints on extensions, but that doesn't seem like it would be suitable for modifying script generation parameters - it seems like it's intended for adding completely new request types, rather than modifying the parameters for existing ones like txt2img.

I came across the same "issue" this week for something I've being playing with. I'll try to investigate further and I'll share if I'm able to make it work. Let me know if you've had any advance since this question was posted.

Yes it's possible:
Active: true
TileX: true
TileY: false
Start: 0
Stop: -1
{ ... "alwayson_scripts":{"Asymmetric tiling":{"args":[true,true,false,0,-1]}}}

Hi everyone!
I am trying to call the the Asymmetric tiling via the API but  am crashing with the following error:
{'detail': 'Cannot have a selectable script in the always on scripts params'}
Recently, anyone that encountered the same issue?


Updating FFI-YAJL

Description
testing version update for ffi-yajl
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

@johnmccrae do you have the bundle update output?


Different highlight change model

Currently, we rely on state events to hide and show events, and edits to change them. Perhaps we could alternatively use some kind of (probably non-thread) m.relates_to? This would not require special permissions nor force edits to only be for the user that created the event.

Believe I got this working last night,


[com.google.fonts/check/missing_small_caps_glyphs] Check passes for font missing Cyrillic small caps

Bitter has no small caps for Cyrillic, so I would have expected this check to produce a FAIL, but it passes. I haven't investigated further yet.
I propose to fix this, so I'm assigning myself.

Actually, this should have also been reported by shaperglot. Will investigate that, too.


Missing Translation and help tips

Combat > Defense. It appears that recent translation updates might have broken a couple of translations.
Make sure that Damage help tip includes how to use @{thrust} and @{swing}

Issue resolved by Roll20


Want to modularize job.py

Currently it is too messy and redundant. We want to wrap up functions and also put to-process datatypes into config

Done in #124


That operation is not permitted in this channel

I'm getting this message in the General chat channel. I'm not currently looking to join any groups nor am I advertising a group to join. What is being sent constantly on that channel? Is there something I can do to stop it? Is there something YOU can do to stop it, please!

After some more research, I believe this is because ClassicLFG assumes that the ClassicLFG channel is channel 1. I believe which channel number is used for the ClassicLFG channel should be a selectable option. If that isn't possible, then put it on the highest channel number available, not the lowest.
As users, we should not have to re-train ourselves to use different channels that the commonly used defaults.

Original issue should not happen anymore.