Prisma should support SQLite's default date format

Prisma should support the default date format for CURRENT_TIMESTAMP.
For example...
sqlite> .mode column
sqlite> .headers on

sqlite> CREATE TABLE date_test ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" TEXT, "created_at" DATE NOT NULL DEFAULT CURRENT_TIMESTAMP);

sqlite> INSERT INTO date_test (name) VALUES ("bob");

sqlite> SELECT * from date_test;

id          name        created_at
----------  ----------  -------------------
1           bob         2020-07-17 21:56:16

From the SQLite Docs...
 SQLite has no DATETIME datatype. Instead, dates and times can be stored in any of these ways:

    As a TEXT string in the ISO-8601 format. Example: '2018-04-02 12:13:46'.
    As an INTEGER number of seconds since 1970 (also known as "unix time").
    As a REAL value that is the fractional Julian day number.

But, SQLite seems to default to ISO-8601 So I would propose that prisma support this format.
As it stands now reading ISO-8601 in prisma causes a crash.

I just tried prisma today and stucked at the same error Could not parse DateTime as I have migrated the database from mysql to sqlite so all my dates are in ISO-8601 format only. 2020-07-23 22:17:23.
Please add support for this datetime parsing.
Thanks.

I am able to reproduce this, running findMany on such a table produces the following error:
(node:77267) UnhandledPromiseRejectionWarning: Error:
Invalid `prisma.date_test.findMany()` invocation in
/Users/divyendusingh/Documents/prisma/triage/prisma-3084/index.js:6:39

  2
  3 const prisma = new PrismaClient()
  4
  5 async function main() {
→ 6   const data = await prisma.date_test.findMany(
  PANIC: called `Result::unwrap()` on an `Err` value: Could not parse stored DateTime string: 2020-07-29 12:35:17 (input contains invalid characters)

This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic.

For simplicity, adding the exported SQL too but note that this date was generated by SQLite
CREATE TABLE date_test ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" TEXT, "created_at" DATE NOT NULL DEFAULT CURRENT_TIMESTAMP);

INSERT INTO "date_test" ("id", "name", "created_at") VALUES
('1', 'bob', '2020-07-29 12:35:17');

I could also reproduce this in my project with the latest dev 2.5.0-dev.19
  prisma-client Prisma Client call: +11s
  prisma-client prisma.user.findMany({
  prisma-client   where: {
  prisma-client     id: {
  prisma-client       lt: 100
  prisma-client     }
  prisma-client   },
  prisma-client   orderBy: {
  prisma-client     id: 'desc'
  prisma-client   }
  prisma-client }) +0ms
  prisma-client Generated request: +0ms
  prisma-client query {
  prisma-client   findManyUser(
  prisma-client     where: {
  prisma-client       id_lt: 100
  prisma-client     }
  prisma-client     orderBy: [
  prisma-client       {
  prisma-client         id: desc
  prisma-client       }
  prisma-client     ]
  prisma-client   ) {
  prisma-client     age
  prisma-client     createdAt
  prisma-client     email
  prisma-client     firstName
  prisma-client     id
  prisma-client     lastName
  prisma-client     password
  prisma-client     updatedAt
  prisma-client   }
  prisma-client }
  prisma-client  +0ms
  engine stdout {
  timestamp: 'Aug 11 11:59:00.764',
  level: 'ERROR',
  target: 'query_engine',
  fields: {
    message: 'PANIC',
    reason: 'called `Result::unwrap()` on an `Err` value: Could not parse stored DateTime string: 2020-08-10 14:37:48 (input contains invalid characters)',
    file: 'query-engine/connectors/sql-query-connector/src/row.rs',
    line: 154,
    column: 26
  }

That might be hard to do. Whether a space is allowed instead of a T seems to be complicated topic: https://stackoverflow.com/questions/9531524/in-an-iso-8601-date-is-the-t-character-mandatory

@mavilein If I were to make a suggestion to the SQLite team when it was built (with the convenience of today's knowledge). I would suggest they have the "T". But I doubt they would be willing to (nor would I suggest they) break years of backwards compatibility to add a "T" now.
The ship has sailed and the decision is already made. For there to be real Date compatibility between prisma and SQLite the format that has a space needs to be supported.

Another report of this: https://github.com/prisma/prisma-client-js/issues/875

I'd like to bring more attention to this issue because after working with prisma for a few months it has been quite a burden for 2 reasons....

It makes using multiple database adapters very difficult because I must manually generate Unix Epoch Timestamps in my SQL queries myself, this would normally be unnecessary.
When viewing my database, the data itself is less useful. A long integer doesn't covey nearly the meaning that 2020-10-18 12:16:04 does.

I just hit this case while working on Prisma Client benchmarks. I'm documenting the workaround in that project for now as follows:

Sequelize expects sqlite DATETIME columns to contain ISO formatted time stamps. Prisma Client however inserts unix timestamps. Since we use Prisma Client to seed the database, the result is that when sequelize benchmarks try to run against Sqlite they hit this runtime error:
 TypeError: date.includes is not a function
   at parse (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/data-types.js:56:17)
   at Query.applyParsers (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:357:14)
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:144:20
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:13427:38
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:4925:15
   at baseForOwn (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:2990:24)
   at Function.mapValues (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:13426:7)
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:117:18
   at Array.map (<anonymous>)
   at Query._handleQueryResponse (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:116:25)

I just hit this case while working on Prisma Client benchmarks. I'm documenting the workaround in that project for now as follows:

Sequelize expects sqlite DATETIME columns to contain ISO formatted time stamps. Prisma Client however inserts unix timestamps. Since we use Prisma Client to seed the database, the result is that when sequelize benchmarks try to run against Sqlite they hit this runtime error:
 TypeError: date.includes is not a function
   at parse (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/data-types.js:56:17)
   at Query.applyParsers (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:357:14)
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:144:20
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:13427:38
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:4925:15
   at baseForOwn (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:2990:24)
   at Function.mapValues (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/lodash/lodash.js:13426:7)
   at /Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:117:18
   at Array.map (<anonymous>)
   at Query._handleQueryResponse (/Users/jasonkuhrt/projects/prisma/prisma-client-js-benchmarks/node_modules/sequelize/lib/dialects/sqlite/query.js:116:25)


Specify min_key in evaluate for ASR recipes

In some ASR recipes, we did not specify the min_key when calling the final evaluation. This means that we evaluate the last checkpoint rather than the one with the best performance on the validation set.
This PR fixes this issue for ASR recipes. I ran recipe tests, and all seem to work.

All checks are passing. Thanks @mravanelli for your PR! :)


Stripe API

IMO a stripe API would be niice + login system for customers.

I was thinking the same thing. I have some logic from an old project I had that would help here. Debating if it should be here or not though.

No. your doing more harm than good.

Excuse me? With regards to what?


Fix lint

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/core could someone merge this ?


fix(drive): mishandling internal errors as validation ones

Issue being fixed or feature implemented

Rework drive abci endpoints to not mishandle internal erros as validation ones
What was done?

How Has This Been Tested?

CI

Breaking Changes

Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[x] I have assigned this pull request to a milestone

@shumkov do you think we want to Err here instead of returning Internal Error?
https://github.com/dashpay/platform/blob/v0.25-dev/packages/rs-drive-abci/src/abci/handlers.rs#L620


Improve links to open source publishers

Replace Simple Mobile Tools with Fossify (#299)

Type

Amendment

Changes

Do not link only to the Play Store, but the publisher's official websites, with additionally their Play Store and F-Droid results.
Affiliation

None
Checklist

[x] I have read the Contributing guide, and confirmed my PR aligns with the requirements
[x] I have performed a self-review (valid Markdown formatting, spelling, and grammar)
[x] I have indicated whether I have any affiliation with any software / services added
[x] I agree to follow the repositories Contributor Covenant Code of Conduct

Thank you very much @ltguillaume!


Bug in Merge Vectors tool

There is a bug in the Merge Vectors tool in the Data Tools toolset.
Example input (both polygon layers):

Result:

Executing: MergeVectors single2;single C:\Scratch\merge.shp
Start Time: Wed Mar  4 10:27:46 2020
Running script MergeVectors...
Traceback (most recent call last):
File "", line 1925, in execute
TypeError: merge_vectors() got an unexpected keyword argument 'i'
Failed to execute (MergeVectors).
Failed at Wed Mar  4 10:27:46 2020 (Elapsed Time: 0.23 seconds)

@Hornbydd Thanks for reporting! This is a bug related to all tools with multiple inputs. I just committed code to fix this. It should be working now.
Before:
    def execute(self, parameters, messages):
        i = parameters[0].valueAsText
        output = parameters[1].valueAsText

After:
    def execute(self, parameters, messages):
        inputs = parameters[0].valueAsText
        items = inputs.split(";")
        items_path = []
        for item in items:
            items_path.append(arcpy.Describe(item).catalogPath)
        inputs = ";".join(items_path)
        output = parameters[1].valueAsText


Use Firebase for future features

I guess you have already considered but I think that community.json and communities logos may be moved to a more dynamic place such as database or to firebase even, so it can be modified without any project updates.
In addition, it could be used to develop a simple API service to allow Angular Community Managers to claim the control of their information so they can update it when necessary, as you do on Google My Business. Also, it can be used for getting new communities applications that only need to be reviewed and accepted, without any repository changes.
This may seems quite ambitious, but at the very first step would be only moving the data to a more dynamic place and init the connection to the database so many other features may be proposed around this capability in the future; login, subscribing, notifying events, getting sponsor offers, etc...
In specifics, I would update CommunityService so it retrieves the information from a firebase project or any other database that may be proposed. However, a firebase account with limited access should be created and the data structure instantiated with the current data in communities.json.
I don't know if this is out of scope, what do you think?
I would be happy to help by doing this feature or helping on creating the Firebase project or considering other options as well!

Sounds good, we were actually considering using Firebase, since there's a couple of new features that we were thinking about adding, that would have to make use of DB.
However, adding a database makes us face the issue of authentication. Have you considered this? Because right now, new communities are added by PR, and Github takes care of authentication. Nevertheless, if we use a Firebase project with a DB to store the communities data, we'd have to handle it ourselves. I've never created a Firebase project before, so I have no idea of what it has to offer regarding authentication. Any suggestions?

Firebase has a great amount of authentication features, in fact you may still use Github account to log in.
Alternatives would be using a DB maybe MySQL hosted on a server. That would required developing an OAuth and APIRest or configuring a firewall by IP so you can have control of who can access to the data base and with which privileges.
Using firebase you may set some basic rules about writing and reading capabilities for some known users (administrators for instance) or that only if you own certain data you are allow to modify it without writing any API.
A part from that, Firebase is a non-relational DB that would bring enough flexibility for start a new database and change it over time "without taking care of" heavy migrations.
However, firebase offers a free service until you cross a number of queries per month. It is a generous threshold though.
I've created some projects based on a firebase database using firestore, however it implies creating an account that will own the project and I don't know how are you handling this at the moment. I would be happy to have a videochat with you guys and see what would it implies and what other options you were considering so may just discard this option or plan it better as it has an important organizational first step.

Hi all. In case you think about firestore take into account that if in near future you plan to add more features related to geolocation could be helpfull to use a mongodb database instead as it has a lot of good methods for querying geodata.

Hi everybody,
I speak with @Anexon who started a first prototype using Firebase to move the json to the database and he'll create a basic authentication using https://github.com/angular/angularfire (official package).
I think that in the next step, we can build a minimalist backend wich will be use MongoDB as @mjimenezmartin said. We want to develop interesting features using the map because this will be the heart component in this proyect.
Thanks for your time! :-)

Hi there!
I got some news. Here you may find a working example of using firebase to retrieve communities and images.
I included a script that replicates the current communities.json local file to firebase and upload all generate images in pre-deploy process to google storage.
Before ng serve
Before to get it working you will need to create a new project using firestore on firebase, get the credentials and put them in the mentioned script file (see package.json) and in environment.ts file.
Also you will need to go to Google Cloud Console and make the bucket public so anyone can access to the images.
Now you can execute the script to replicate the content to firebase. Remember to generate images first!
Conclusion
It may seems a little bit tricky to get all of this working but it is only firebase configuration. We may use an "official" account and I would left it configured and running and I would document the process just in case.
If you want to try it by your self first, please let me know if you get stucked in some of the processes of creating firebase elements.

Hi everyone!
Here you may get a working example of the web as official credentials are set for the default environment.
Credentials are public as they are needed for the app to get proper reference to firebase and read content from there, there is "no risk" (better explained here).
I set reading permissions to anonymous requests and writing permissions to admin users that are set manually. So anybody is able to edit the database but the admins and this is the key point, we should decide how would be the adding community procedure as it would not be possible by editing the json file anymore.
I would recommend using google forms to get add-communities requests and let some of the admin to update the database using a custom script that I included in the project.
From this point, I would plan a bunch of new features that may be needed to give control to community managers to update their info without editing original repository, all by accessing an user area and so many other features!
Let me know what you think

Hi @Anexon !
I have started to raise new issues that could be interesting features in which we need a Firebase store like the one you have raised.
The point is that I think this PR could be integrated when we have a form in angular-communities that allows sending new communities to anyone. What do you think of that?
I would like the community to be able to supply their community information at all times and not to place the burden on the administrators of Angular-Communities.
So what do you think if we develop your issue and proposal as a slightly richer PR in which we will integrate the following features:

New community submission form
Notifications to administrators to check that the community information is correct (and you only have to accept it).

Later, I think that with this feature we could open new ones like the ones I have proposed:

Organizers login and edition.
Record event information from the meetup API.
Any great idea we can think of.

What do you think if we get down to work creating a PR in which we integrate the basic functionalities that I have described and work on it to be able to create something of greater value without losing what we have now?
A greeting!
@tonivj5 @NyaGarcia

Hey @tonivj5 and @NyaGarcia ,
I think is a great idea. Let's break milestone into smaller pieces.
I'll try to attach myself to some of those new issues you just created so we may get to a functional point as soon as possible :D

Yeah, we should break it :+1: I love the idea to level up communities! Thanks @Anexon for your involvement on this, #55 is a good start. I like some functionalities that firebase can offer us.
I think we should follow using community.json to add communities like we have done until now meanwhile we implement new features around firebase and get more confident with it. We could add a new github action to perform the inserting into firebase, and reduce too the amount of deployments we're doing on each commit :eyes:


docs: Add fly.io deploy guide

OK, sorry, I forgot that Cerbos is on gRPC and not Connect. The proxy won't be of much use because all gRPC requests are POSTs and it would just end up forwarding all requests to the primary.


Index

Line in index.js to import and export pom-parser

Pull Request Test Coverage Report for Build 15

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 14:
0.0%

Covered Lines:
43

Relevant Lines:
43

💛  - Coveralls


Link order and person

Changes made to link the person and order class made mainly in the UI

Codecov Report

Merging #117 (0aa7458) into link-order-and-person (c990919) will decrease coverage by 0.81%.
The diff coverage is 14.70%.

@@                     Coverage Diff                     @@
##             link-order-and-person     #117      +/-   ##
===========================================================
- Coverage                    65.13%   64.31%   -0.82%
+ Complexity                     496      492       -4
===========================================================
  Files                           95       97       +2
  Lines                         1721     1704      -17
  Branches                       193      185       -8
===========================================================
- Hits                          1121     1096      -25
- Misses                         547      555       +8
  Partials                        53       53

Impacted Files
Coverage Δ

.../seedu/address/logic/commands/AddOrderCommand.java
100.00% <ø> (ø)

...seedu/address/logic/commands/FindOrderCommand.java
0.00% <0.00%> (ø)

...u/address/logic/commands/FindOrderNameCommand.java
0.00% <0.00%> (ø)

.../address/logic/commands/FindOrderPhoneCommand.java
0.00% <0.00%> (ø)

...edu/address/logic/commands/UnmarkOrderCommand.java
0.00% <0.00%> (ø)

...du/address/logic/parser/AddOrderCommandParser.java
0.00% <0.00%> (ø)

...u/address/logic/parser/EditOrderCommandParser.java
0.00% <ø> (ø)

...s/model/person/PhoneContainsKeywordsPredicate.java
0.00% <0.00%> (ø)

...n/java/seedu/address/storage/JsonAdaptedOrder.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

... and 9 more

Continue to review full report at Codecov.

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


How to fix " 'use_pose_extrapolator' was used the wrong number of times."

Hi,
I'm trying to run cartographer for my robot and the cartographer_rosbag_validate shows no error.
What could possibly be wrong?
Here's my .lua file
include "map_builder.lua"
include "trajectory_builder.lua"
options = {
map_builder = MAP_BUILDER,
trajectory_builder = TRAJECTORY_BUILDER,
map_frame = "map",
tracking_frame = "base_link",
published_frame = "base_link",
odom_frame = "odom",
provide_odom_frame = true,
publish_frame_projected_to_2d = false,
use_pose_extrapolator = true,
use_odometry = true,
use_nav_sat = false,
use_landmarks = false,
num_laser_scans = 1,
num_multi_echo_laser_scans = 0,
num_subdivisions_per_laser_scan = 10,
num_point_clouds = 0,
lookup_transform_timeout_sec = 0.2,
submap_publish_period_sec = 0.3,
pose_publish_period_sec = 5e-3,
trajectory_publish_period_sec = 30e-3,
rangefinder_sampling_ratio = 1.,
odometry_sampling_ratio = 1.,
fixed_frame_pose_sampling_ratio = 1.,
imu_sampling_ratio = 1.,
landmarks_sampling_ratio = 1.,
}
MAP_BUILDER.use_trajectory_builder_2d = true
TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 1
return options

Gazebo/light_black

0 0 0 0 0 0
true
5.5

1450
1
0.0
6.28319

0.15
12
0.005

gaussian
0.0
0.1

scan
rplidar

use_pose_extrapolator = true,

Remove this line. Apparently you use an old version of cartographer_ros that does not yet know this flag.
Closing as answered.


feat: reverse transformers

The continue of #2305
Things need help: presence and auditLogEntry
I used an array for reverseStatusTypes which will cause ts error because of the "invisible" status, any better way to deal with it?
For auditLogEntry seem ts can't infer the return type of the transformer (the switch case and type), I override the type for some value, any workaround?
This PR adds some more reverse transformers (snowflake, emoji, gatewayBot, presence, applicationCommand, applicationCommandOption, applicationCommandOptionChoice, applicationCommandPermission, attachment, auditLogEntry, widgetSettings) as suggested in https://github.com/discordeno/discordeno/issues/1885

@H01001000 Hi 👋 please contact me on https://discord.gg/ddeno

@H01001000 Please resolve merge conflicts


After being clicked with a mouse, tab labels show the outline and have a background

🐛 Bug Report
If you click on a tab label with a mouse, the label shows the outline. If you then point the mouse elsewhere, the clicked tab label still shows var(--ifm-hover-overlay) as the background.
Have you read the Contributing Guidelines on issues?
Yes.
To Reproduce
Using Chrome, go to v2.docusaurus.io/docs/markdown-features/#tabs, click on any of the tabs, the outline will be shown, and if you point the mouse elsewhere, the hover-overlay will still be the background of the tab label.
Expected behavior
The selected tab label should have the same look as the label of the tab, selected by default. There shouldn't be any difference between the label you just clicked on and the label you clicked on before clicking somewhere else, e.g. on a text or on the page background. No background, if the mouse isn't pointing at the label, should be shown, and no outline should be shown unless a keyboard or an assistive device is used for interacting with the page.
I would expect the outline to appear once I use the tab button or other keyboard buttons for the navigation, but not while I'm using only the mouse.
Actual Behavior
When I click on a tab label, it shows the outline and has a background until you click elsewhere.

Your Environment

The bug shows up on both https://v2.docusaurus.io/docs/markdown-features/#tabs and a locally installed Docusaurus v2
Desktop Windows 10
In the latest Chrome, both the outline and the background are showed. In Edge and Firefox, the outline isn't being showed, but the background is there until you click somewhere else.

If that's something that should be fixed, the fix should probably be implemented in https://github.com/facebook/docusaurus/tree/master/packages/docusaurus-theme-classic/src/theme/Tabs.
I'm not experienced with frontend at all and using Docusaurus for creating documentation for an API, and I avoided this behavior locally, but that's obviously not the actual way to fix the bug. I created a TabsWrapper so I can put  tags around all the  tags:
export const TabsWrapper = ({children}) => (

 {if (event.keyCode !== 13 && event.keyCode !== 32) {var s = document.getElementById("outlineCss"); if(s !== null) return; var cssStyle = document.createElement('style'); cssStyle.id="outlineCss"; cssStyle.type = 'text/css'; var rules = document.createTextNode(".tabs__item--active:focus{outline-style:auto !important;}"); cssStyle.appendChild(rules);document.getElementsByTagName("head")[0].appendChild(cssStyle);}}}>
		{children}
);

And I added these to lines to the custom.css:
.tabs__item--active:focus{outline-style:none; background-color: transparent !important;}
.tabs__item--active:hover{background-color:var(--ifm-hover-overlay) !important;}

Thanks, that looks like a visual bug to me.
We should fix it in Infima, the outline color of tabs should be in sync with the bottom border color
https://facebookincubator.github.io/infima/docs/components/tabs
Infima is not yet opensource

that looks like a visual bug to me
@slorber

I mean, the bug is not the color of the outline, it's the outline itself being shown after a click.
In Chrome, the outline doesn't show up on https://facebookincubator.github.io/infima/docs/components/tabs/ if you click on a tab label, but it does on https://v2.docusaurus.io/docs/markdown-features/#tabs because there is a tabindex and the default browser behavior is to show the outline for the elements in focus with a tabindex.
I'm not sure if it's possible to fix this without any JS while not losing accessibility.

I'm not an accessibility expert, do you have a document that explains best practices in this regard and clearly says that an outline should not be displayed on a clicked element?
If someone knows exactly what to do, PRs are welcome

While writing this comment, I found that there is a recommendation of using :focus-visible, which is not yet supported by Chrome, but can be added using a polyfill from W3C's WICG.
The outline on a tab clicked with a mouse is something unexpected and leads to inconsistent behavior across different browsers.
The documents are saying that you shouldn't restrict users on what device they're using for the interactions (see this W3C recommendation), so basically the outline should be displayed when a keyboard or an assistive device is used for navigation.
(For this purpose, tabindex tags are being added so the browser knows where to navigate. On most pages, when you click on an element with a tabindex, you're being redirected to another page, so the outline is shown for a moment, but you don't notice that.)
But there are things like tabs. Before Docusaurus v2, the tabs hadn't had tabindexes, so the outline wasn't shown, but also you couldn't have accessed the tabs with a keyboard. In v2, you can, which is good, but Chrome focuses on everything clicked and displays an outline once you've clicked on a tab label with a mouse, which is pretty disconcerting.
Since Chrome is popular, websites use JS for avoiding the issue. E.g. if you click on a tab with a mouse here on GitHub, or on CloudFlare, it doesn't show the outline, and if you navigate using a keyboard, tabs show the outlines.
There was a Chromium issue https://bugs.chromium.org/p/chromium/issues/detail?id=271023 in which Chromium team members say that developers should implement something to use JS to implement the desired behavior of when the outlines should be shown. And then there was a :focus-visible standard, which is still not in Chrome but can already be used with a polyfill.
I think the solution would be something like importing the polyfill (I would create a PR but I don't really know how imports work in NodeJS) and adding this to the tabs style:
.tabItem:focus:not(.focus-visible) {
  outline: none;
}

I have made a PR for this issue in #3171

@mdfaizan7 thank you for the PR, but I don't think it would solve the issue.
It hides the outline from all the users, so you can't navigate with a keyboard or an assistive device anymore, and also leads to the hover-background being not shown when the tab is clicked but and the mouse is pointing at it.
The only way of solving the issue with the outline is to show the outline only when a user navigates using something that's not a mouse. The easiest way is, as I mentioned earlier, to import a :focus-visible polyfill and to add the CSS from above.
The part of the bug related to the background probably should be fixed just with removing background-color: var(--ifm-hover-overlay) from the tabs style, without adding background-color: transparent.

@Mihonarium thank you for the review.
I have made another commit, this time I created an event listener to listen if the tab key is pressed or not. I also made a state variable which is a boolean. So if anytime the tab key is pressed, the value of that variable will be true and the outline will be shown. But if there is a mouse click then its value will be false, and the outlines will not be shown.

👍 Good job!
But there's an issue: users can navigate using other things, not only Tabs and Shift+Tabs on the keyboard, so it's not really good to rely only on those. The :focus-visible polyfill by W3C's WICG I mentioned earlier tracks how a user navigated to a newly focused element and listens to a lot of events, without anything specific for tabs. Maybe it's possible to use it instead or to copy its algorithm? There's also a package https://www.npmjs.com/package/use-focus-visible based on the polyfill which could be helpful.
 Though this is not important if the logic of the polyfill will be used.

Locally, I was able to completely resolve the issue by adding<EMAIL_ADDRESS>to the scripts in the docusaurus config and by adding the CSS from this comment to the custom.css file.
So if it's possible to import the package from Tabs, that would probably work. (I don't know how NodeJS packages work so can't make a PR)

Thank you @Mihonarium for pointing out these points. I have refrained to use any other library or package to handle this bug. That's why I have not tried to use the polyfill package that you mentioned earlier.
I have now updated the code to listen to all the keys (except the meta, alt & ctrl key). So I now users can use any other key for navigating and the outline will be shown.
Also, I have also handled the other bug you mentioned. Now it doesn't occur on my device. Please see and tell me if you still experience this bug.

Thanks! Now everything looks good and I think works properly.
The other reason why I tried to suggest the usage of the polyfill is that there could be other similar issues with things showing the outline when they shouldn't, and the polyfill would allow to easily fix those issues with CSS without needing to add any new listeners to the keyboard events or write the same code. But that wasn't as important as just making everything work and look good, so you can probably merge the PR.


Usage of headers in ember octane class syntax adapters?

Hello folks!
I faced a really strange issue in my octane app. Some of my functions are sending invalid headers in their requests.
My backend app requires a custom header called CurrentStoreId and I fill it by using a service called CurrentCompany with some tracked properties eg. currentId as follows:
export default class ApplicationAdapter extends JSONAPIAdapter {
  @service session;
  @service currentCompany;

  host = ENV.HOST;

  @computed('session.data.authenticated.token') // this is the bad part
  get headers() {
    let hash = {};

    if (this.session.isAuthenticated) {
      hash['Authorization'] = `Bearer ${this.session.data.authenticated.token}`;
      hash['CurrentStoreId'] = this.currentCompany.currentId;
    }

    return hash;
  }
}

For a reason I don't understand if I remove the @computed decorator from the headers getter, the functions which was don't working now works really well.
The README says to define a headers with computed property, but now I need to remove the @computed part to get everything work, so the question is:
We must continue using the @computed stuff when defining headers even when we use the ES6 getters syntax?

The value of a computed prop will only update when a member of the dependency list updates, so in this case, updates to this.currentCompany.currentId will not cause the headers prop to recompute, even though that property is tracked.
We just dealt with almost exactly the same issue in our app.  I didn't want to dig into whether access to the session service strictly needed to use a compute prop. so I tried splitting it as such:
export default class ApplicationAdapter extends JSONAPIAdapter {
  @service session;
  @service currentCompany;

  host = ENV.HOST;

  get headers() {
    let hash = {};

    if (this.session.isAuthenticated) {
      hash['Authorization'] = `Bearer ${this.authToken}`;
      hash['CurrentStoreId'] = this.currentCompany.currentId;
    }

    return hash;
  }

 // limit use of @computed to places that need it
  @computed('session.data.authenticated.token')
  get authToken() {
    return this.session.data.authenticated.token;
  }
}

@boydkr thanks for your reply!
I've got everything working after some attempts and my code is exactly yours:
export default class ApplicationAdapter extends JSONAPIAdapter {
  @service session;
  @service currentCompany;

  host = ENV.HOST;

  get headers() {
    let hash = {};

    if (this.session.isAuthenticated) {
      hash.authorization = `Bearer ${this.session.data.authenticated.token}`;
      hash.currentstoreid = this.currentCompany.currentId;
    }

    return hash;
  }

  pathForType(type) {
    return pluralize(underscore(type));
  }
}

I'll close this issue,
Thanks a lot for your time @boydkr ;D


Title Title Title

https://www.github.com/dropbox/goprotoc/tree/master/plugin%2Fembedcheck

Leave

Leave a comment


Me not showing up on leaderboard

Describe the bug
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Screenshots
Additional context

Also make sure you have user leaderboard vis team on tedashboard

Fixed the user update team name page

fixed.  forgot to pass did


Bump vello (and wgpu versions)

Updates xilem to the latest vello. Also bumps wgpu to 0.17.0.
This should enable CFF/CFF2 support.

Should the parenthesis in the commit / PR message not close one word earlier? ^^

Should the parenthesis in the commit / PR message not close one word earlier? ^^

Oops, yes :) I blame it on late night/weekend work.

Thanks all for testing on Linux!


DRF Integration

ANSWER ON THIRD COMMENT
Hello guys,
Thanks a lot for this outstanding work.
I'm trying to integrate dj-organization into my DRF project and I'm having a bit of an issue. I'm struggling to filter the results the view sends back based on the user organization. I'm fairly new to Django and I'm having difficulties integrating it with DRF.
Here is my code.
My Organization
from django.db import models
from organizations.models import Organization

# Create your models here.

class Website(Organization):
    url = models.CharField(max_length=200)

My Model which references the org
import datetime
from django.db import models
from django.utils import timezone
from org.models import Website

class Extractor(models.Model):
   Org = models.ForeignKey(Website, related_name='extractor', on_delete=models.CASCADE)
   extractor_type = models.TextChoices('Extractor', 'HEADERS IMAGES LINKS')
   url = models.CharField(max_length=200)
   result = models.JSONField(blank=True, null=True)
   type_audit = models.CharField(blank=True, choices=extractor_type.choices, max_length=20)
   task_id = models.CharField(max_length=50, blank=True, null=True)
   status_job = models.CharField(max_length=30, blank=True, null=True)
   begin_date = models.DateTimeField(blank=True, null=True)

   def __repr__(self):
       return '<Audit {}>'.format(self.url)

And my view for the Extractor Model
Extractor view
class ExtractorViewSet(viewsets.ModelViewSet):
    permission_classes = [permissions.IsAuthenticated]
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = Extractor.objects.order_by('-begin_date')
    serializer_class = ExtractorSerializer
    filter_backends = [DjangoFilterBackend,filters.OrderingFilter]
    filterset_fields = ['type_audit', 'status_job']
    ordering_fields = ['id', 'type_audit', 'begin_date']

My question is as follow:
Where do I filter the Extractor object based on the user in the request.user  so that he only sees the extractor for his organization ?
I know this isn't an Issue as per say, but I'll be interested to add the answer in your documentation and an How To for others :)
Thanks a lot. Have a great day

I've looked into old issues to try to find an answer.
I've compiled an answer but now I get a 404 on my route when I add this change:
I've added the Mixins Organization and MembershipRequired and changed the get_queryset method.
Not Found: /api/extractor/
[21/Dec/2020 12:49:06] "GET /api/extractor/?ordering=id&page=1&page_size=10 HTTP/1.1" 404 1797

Extractor View
from organizations.views.mixins import MembershipRequiredMixin, OrganizationMixin

class ExtractorViewSet(MembershipRequiredMixin, OrganizationMixin,viewsets.ModelViewSet):
    permission_classes = [permissions.IsAuthenticated]
    """
    API endpoint that allows users to be viewed or edited.
    """

    queryset = Extractor.objects.order_by('-begin_date')
    serializer_class = ExtractorSerializer
    filter_backends = [DjangoFilterBackend,filters.OrderingFilter]
    filterset_fields = ['type_audit', 'status_job']
    ordering_fields = ['id', 'type_audit', 'begin_date']

    def get_queryset(self):
        return self.queryset.filter(org=self.get_organization())

I'm pretty sure there is something that I don't understand, and I'm probably a few lines of code away from the answer 😄

Answer
For people trying to integrate Django Organizations with Django Rest Framework (DRF) here is a working implementation of filtering results based on the user in the request.
Organization model
from django.db import models
from organizations.models import Organization

# Create your models here.

class Website(Organization):
    url = models.CharField(max_length=200)

Models
I added a custom manager for the for_user method
import datetime
from django.db import models
from django.utils import timezone
from org.models import Website

class ForUser(models.Manager):
    def for_user(self, user):
        org = Website.objects.filter(users=user).first()
        print(org)
        return self.get_queryset().filter(Org=org)
class Extractor(models.Model):
    Org = models.ForeignKey(Website, related_name='extractor', on_delete=models.CASCADE)
    extractor_type = models.TextChoices('Extractor', 'HEADERS IMAGES LINKS')
    url = models.CharField(max_length=200)
    result = models.JSONField(blank=True, null=True)
    type_audit = models.CharField(blank=True, choices=extractor_type.choices, max_length=20)
    task_id = models.CharField(max_length=50, blank=True, null=True)
    status_job = models.CharField(max_length=30, blank=True, null=True)
    begin_date = models.DateTimeField(blank=True, null=True)

    objects = ForUser()

    def __repr__(self):
        return '<Audit {}>'.format(self.url)

View
And then I overloaded the get_queryset method in my view.
from extractor.models import Extractor
from rest_framework import viewsets
from rest_framework import filters
from rest_framework import permissions
from django_filters.rest_framework import DjangoFilterBackend
from extractor.serializers import ExtractorSerializer
from rest_framework import permissions
from org.models import Website

class ExtractorViewSet(viewsets.ModelViewSet):
    permission_classes = [permissions.IsAuthenticated]
    """
    API endpoint that allows users to be viewed or edited.
    """
    serializer_class = ExtractorSerializer
    filter_backends = [DjangoFilterBackend,filters.OrderingFilter]
    filterset_fields = ['type_audit', 'status_job']
    ordering_fields = ['id', 'type_audit', 'begin_date']

    def get_queryset(self):
        return Extractor.objects.for_user(self.request.user).order_by('-begin_date')

I hope this will help somebody 😄  It isn't very hard but this was my first time using django.
Thanks @bennylope  for this awesome project.

Please let me know if you have a better solution 😄

Hi @bennylope , is there any way to integrate this, sort of out of the box with DRF? As I'm pretty happy with the way this package handles everything already, and it'll be a bit of a hassle to "redo" most of the logic to integrate with DRF.

i think a way to go about this is to build a DRF layer that simple is annexed to the current code, meaning there's no need to change current code at all.
For example, one could (i'm already thinking in this direction), start with one view, say displaying one's groups after authentication, and create a DRF endpoint for that. One would likely need to extend the existing view for this functionality, run that view through a serializer, codify and endpoint, add in the DRF code... none of which seems hard, just a bit methodical and time-consuming. All the DEF endpoints could extend existing views and/or just re-use some of the view code in a DRF way.
I may try this, and will post back if it's bears fruit.

@marqpdx Seems like a good idea!

Any updates @marqpdx ?


ValueObject with null values

I have this query :
create view actor_reading
select a.id, a.name, m.title as movies_title, m.gender as movies_gender, n.label as nationality
from actor a
  left join actor_movie_mapping amm on a.id = amm.actor_id
  left join movie m on m.id = amm.movie_id
  left join nationality n on a.nationality_id = n.id
order by a.id

as you can see I'm joining the actor with 2 tables to get all its movies and at the same time its nationality.
Mapping classes are like the following :
@Value //lombok
class Actor {
 String id;
 String name;
 String nationality;
 List<Movie> movies;
}

@Value //lombok
class Movie {
 String title;
 Integer gender;
}

ResultSetExtractor<List<Actor>> resultSetExtractor =
        JdbcTemplateMapperFactory
                .newInstance()
                .addKeys("id")
                .newResultSetExtractor(Actor.class);
jdbcTemplate.query("select * from actor_reading", resultSetExtractor);

I get my actor's list but in some objects where the actor didn't have played in any movie yet the list movies may contains objects like :
movies = [Movie(title= null, gender = null)] // or multiple values if the actor have multiple nationalities
Any idea to get rid of these objects ?

I think you should insert "title" in the addKeys() method.
see Null elimination chapter : https://simpleflatmapper.org/0203-joins.html

yes, but in my real case I can't get a uniq id, I want objects to be duplicated (sometimes)

I think it causes less issues if each joined table have a child object. you could have a list of Nationality and like @n1b0r mentioned add all primary keys in addKeys(movies_id, nationality_id)


Fix: Keep Announcement state in LinkStore

Description of change
LinkStore getting reset to default means that all states are removed including the Announcement message state. This PR makes it so that the announcement message state continues to persist in store after being reset.
#183
Type of change

Bug fix (a non-breaking change which fixes an issue)

How the change has been tested

After resetting state, user was able to re-fetch messages and continue publishing to branch

Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] New and existing unit tests pass locally with my changes

There's an additional inconsistency we'll need to resolve as well. From a Subscriber point of view, resetting state may allow them to replay the messages from scratch, but they won't be able to fetch their Subscription message since it was deployed outside of the data tree. So unless they recreate the message (in the same way the Author has to recreate the announcement message to verify it was generated the same way) the Subscriber then cannot unsubscribe from the channel without recreating that subscription message and storing it in state again.

There's an additional inconsistency we'll need to resolve as well. From a Subscriber point of view, resetting state may allow them to replay the messages from scratch, but they won't be able to fetch their Subscription message since it was deployed outside of the data tree. So unless they recreate the message (in the same way the Author has to recreate the announcement message to verify it was generated the same way) the Subscriber then cannot unsubscribe from the channel without recreating that subscription message and storing it in state again.

Precisely. The bindings examples are broken actually for this exact reason. I've fixed them in https://github.com/iotaledger/streams/pull/150/commits/f3dd32b6e7875fb41cafa4dbc2c82a754eb5b8ee

@arnauorriols  @kwek20 Circling back to this issue, I think that there's still a deeper conversation to be had about what it means to "Reset" and how to best communicate that, as well as how to better utilise the already seen messages without having to retrieve them again, but in the shorter term: I think it makes sense to perhaps retain all known subscribers in store, but reset their cursor store to their initial storage position so retrieval is doable again from that announcement message. We can reword it in docs to reflect that as well, but as an interim solution to the issue, making sure that all publisher states are mapped back to the announcement should suffice for now no?

For me we could just revert 655d28cb7cc5f1aeab3ac0e008eaa1bb78329034, as we are going to refactor much of this anyway in 1.0. But yes, as long as we solve #183 for now, I'm ok with any solution.

Given that we are preparing a new API that will supersede this method with one better suited for rereading the channel, I vote now to merge this PR as is, fixing the issue for the short term, and be done with it


doc: edit Lean.MVarId.withReverted

When it was upstreamed, it lost the mention of "revert/intro pattern", which is helpful for finding this function. Also extended the description of the function and clarified some points.

CI got stuck.


Jekyll cleanup

Remove output that was stored in repository, and other cleanups.
Appears compatible with GitHub Page's jekyll

Should resolve #22 when merged.
Additional hand fixes might be needed on layout (e.g. in _includes files) if they weren't in source, and only lived in _site.


feat(mouse): add PopupState::handle_mouse_event()

Converts a crossterm mouse event into mouse movement. Requires the
crossterm feature to be enabled.
if let Event::Mouse(event) = event::read()? {
    popup_state.handle_mouse_event(event);
}

Codecov Report
Attention: Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (3433aec) to head (be722d8).

Files
Patch %
Lines

src/state.rs
0.00%
8 Missing :warning:

Additional details and impacted files
@@          Coverage Diff          @@
##            main     #29   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          3       3
  Lines        126     133    +7
=====================================
- Misses       126     133    +7

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


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-29-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4895

Questions ?
Please refer to the Backport tool documentation


Class "Elastic\Elasticsearch\ClientBuilder" not found.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
Not getting client builder class. and showing Class "Elastic\Elasticsearch\ClientBuilder" not found.
Preconditions

Take the pull from the master branch.

Steps to reproduce

Go to 'Terminal'
Take a new pull
run optimize command
See the error

Expected Result
the class should be there.
Actual Result
Class is missing. Here
Screenshots
No response
Additional context
No response

@Amitk-webkul ,
Please Remove your vendor folder and run the command in your project root directory 'Composer install' in your project root directory.


Chatterino will not open

Chatterino will not open, what's weird is it was working perfectly fine earlier today, I attempted to download the latest version of chatterino and It did not work and my earlier version stopped opening as well.
Screenshots are what happens when I try to open chatterino

    Windows 10, Chatterino 2.3.0

@BigSpinich did you try steps from https://wiki.chatterino.com/Help/#basic-troubleshooting?

Well it fixed the VCRUNTIME140 error but there are now new ones, thanks for the help though

@BigSpinich how did you obtain the newer version of Chatterino? Did you download nightly from our GitHub? These errors signify that the Chatterino version you're trying to launch is lacking basic libraries that it needs to even start. Can you try downloading installer for Chatterino 2.3.2 from the website, installing it and then see if it works?


Add C implementation for @stdlib/math/base/special/acovercos

Resolves #775.
Description

This PR adds C implementation for @stdlib/math/base/special/acovercos.

Related Issues

Does this pull request have any related issues?
None

This pull request:

resolves #775

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

I'll check those once he applies code review and revert back.


Errors for Product Key in Windows & Sharepoint 2016 in VMWare.

Same is being experiencing with Windows2016 Server too.
Kindly help the same.

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


[5.7] fix mirrors reverse mapping to be more deterministic

5.7 cherry pick of #5559

@swift-ci smoke test


Feature Request: dropdown / choice input for cmd_button

text_input gives us unlimited options, and bool_input give us the choice between two options, but it would be nice to have something in between.  For my use case, I want to give the user a list of supported values in a dropdown selection.
I tried to see if this would be something easy to extend myself, but it looks pretty involved? May be interested in giving it a try if I'm wrong though.

I like this request! I'm going to move this to the main repo.


mlx 0.13 very slow with q8 and fp16

I was testing the new quantize by @angeloskath with some Italian prompts that were failing with previous version and now are PERFECT! But while doing this I have seen extreme slowness with q8 and fp16 version.
I'm using meta-llama/Meta-Llama-3-70B-Instruct for test on M2 Ultra 192GB.
I created 3 conversions of it with:
mlx_lm.convert --hf-path meta-llama/Meta-Llama-3-70B-Instruct -q --q-bits 4 --mlx-path mlx_model_q4
mlx_lm.convert --hf-path meta-llama/Meta-Llama-3-70B-Instruct -q --q-bits 8 --mlx-path mlx_model_q8
mlx_lm.convert --hf-path meta-llama/Meta-Llama-3-70B-Instruct --mlx-path mlx_model_fp16

Then I tested generation with:
mlx_lm.generate --prompt "Write the story of Albert Einstein" --model mlx_model_q4
mlx_lm.generate --prompt "Write the story of Albert Einstein" --model mlx_model_q8
mlx_lm.generate --prompt "Write the story of Albert Einstein" --model mlx_model_fp16

q4 14.9 t/s (GPU >1300Mhz 115W)
q8 & fp16 0.4 t/s  (GPU <1100Mhz peak 2W)

I tested on M3 Max and got same result. with even lower power consumption and GPU frequency. Really strange.

It's pretty slow for me also in 8-bit (and presumably 16 as well, but didn't test).

@ivanfioravanti just curious you phrased this issue as if it used to be faster in previous MLX versions. Is that the case?

Sorry for the delay I was out the whole week and happy to be back playing with MLX 🛝
I thought the issue was impacting all models using q8 but this is not the case. It seems issue is present with Llama 70B only.

Mistral-7B-Instruct-v0.2 works like a charm
mlx-community/dolphin-2.9.1-yi-1.5-34b-8bit works like a charm

Can this be related to model size? 70B? I will try comparing another large model.

Can this be related to model size? 70B?

Oh yes, it's almost certainly related to the size / amount of RAM required. There seems to be a performance cliff for very large models. It shouldn't be swapping because its still not using all the RAM on the machine but it does seem related to memory page demand. Still debugging.. this one might take a little while to iron out.

Same problem with 'Qwen2-57B-A14B-Instruct' and 'Qwen2-72B-Instruct' here!

q8 runs significantly slower than q4
GPU utilization of q8 is low
using mlx==0.15.2 on M3 Max 128GB.

Have you tried setting your memory limits, e.g. iogpu.wired_lwm_mb and iogpu.wired_limit_mb ?

Have you tried setting your memory limits, e.g. iogpu.wired_lwm_mb and iogpu.wired_limit_mb ?

Sorry for the late reply! I tried to set both iogpu.wired_lwm_mb and iogpu.wird_limit_mb to 100GB:
sudo sysctl iogpu.wired_limit_mb=102400 and sudo sysctl iogpu.wired_lwm_mb=102400
but the generation speeds for 'Qwen2-57B-A14B-Instruct' and 'Qwen2-72B-Instruct'  are still slow.

One thing that might help is to restart your machine. This isn't a permanent fix.. but it would be interesting to know if getting your machine out of some fragmented state could help here.
Also to be sure, we are talking about the 8-bit models right?  So for Qwen 72B that should be about 80GB or so?

One thing that might help is to restart your machine. This isn't a permanent fix.. but it would be interesting to know if getting your machine out of some fragmented state could help here.
Also to be sure, we are talking about the 8-bit models right? So for Qwen 72B that should be about 80GB or so?

Restart helps! Generation speed of the 8-bit models back to normal
Yes, we are talking about 8-bit models
'Qwen2-57B-A14B-Instruct' around 60GB in mem, 'Qwen2-72B-Instruct' around 77GB in mem

Restart helps!

Since that helped it suggests its related to some system-level fragmentation issues we've noticed before. As I said, we don't have a good fix for that yet :. Upgrading to Sequoia (macOS 15.0) may also help in this case, but I haven't confirmed that yet.

Upgrading to Sequoia (macOS 15.0)

I'll have a try, many thanks!

This should be resolved in the latest MLX + the next release of MLX LM. See the documentation here. Note it requires OS 15.0 or higher.


Flow Deploy overwrites custom configuration fields.

Hi,
I'll start with a picture:

This is the flows_hostName.json file:
[
   {
      "id":"SomeId",
      "type":"mqtt-broker",
      "z":"",
      "broker":"my.server.com",
      "port":"1883",
      "clientid":"ClientId",
      "usetls":false,
      "verifyservercert":true,
      "compatmode":true,
      "keepalive":"15",
      "cleansession":true,
      "willTopic":"",
      "willQos":"0",
      "willRetain":null,
      "willPayload":"",
      "birthTopic":"",
      "birthQos":"0",
      "birthRetain":null,
      "birthPayload":"",
	  "isDefaultConfig":true
   }
]

The last field in the config file, isDefaultConfig, is not a standard one.
What I'm trying to achieve here is to set up a predefined MQTT broker that shouldn't be editable or deletable, while allowing users to define their own brokers.
The problem is that, somewhere along the way, that custom field gets removed from the node configuration.
I tried removing the "Update" button from the form by changing the behaviour of the showEditConfigNodeDialog function in node-red/editor/js/ui/editor.js.
The first few lines of that function look like this:
function showEditConfigNodeDialog(name,type,id) {
        var adding = (id == "_ADD_");
        var node_def = RED.nodes.getType(type);
        editing_config_node = RED.nodes.node(id);

When I do a console.log(editing_config_node); I can see all of the fields that are present in the .json file except isDefaultConfig.
Another problem is that if I Deploy my flow the .json file will be overwritten with my custom fields removed from the configuration.
I assume that there's a place where these fields are defined but I couldn't find it. Can I get some help?
Also, I'm new to node-red so I might've missed something obvious.
Thank you!

There are two types of node properties; those that are defined in the node's html definition and those reserved by the editor - details here. Anything else gets ignored/stripped whenever the flow is exported/deployed by the editor - see convertNode in editor/js/nodes.js,
We do not support the ability to have read-only nodes that cannot be deleted.

As this is a request for help, rather than an issue, I'm going to close. If you still have questions, please follow up on the mailing list.


adding cdn file postfix param for prerender

@smgladkovskiy please, fix the tests and update change log for 3.2.0 version.

jFYI -tests are randomly fail in circle.
Changlog for 3.1.1 is written


Remove lodash dependency

replace _.includes(...) usage with Array.prototype.includes(...); remove lodash dependency

First, thanks for the contribution.

lodash is cherry-picked by babel-loadsh-plugin and will be picking lodash/includes in the lib folder. See:

https://github.com/tomchentw/react-toastr/blob/c5e095546c579d209aa7e43a2454c141def8a447/lib/ToastContainer.js#L7-L9

Array.prototype.includes is an ES2015 feature, which means doesn't compatible with ES5.


[Feature] ARM support

This is a copy of #11 refer to it for more details

Everything works but we have to switch the inner tools to the right architecture (kubectl, helm, etc)..


Default for column cannot be cast automatically to relative_duration_t

EdgeDB Version: 1.3+804c096
OS Version: macOS Monterey 12.2.1

Steps to Reproduce:
It has been hard to deduce exactly which field this stems from, but I will attach two schemas, before and after, as well as the migration script that was created. The steps below describe the field that has given the most trouble during this migration, and is my guess as to where this is coming from. The other fields are referenced as well in the overview of my migration creation interaction:

Changed type of the field Token::expiration from an optional int32 to a required datetime.
Updated all pre-existing Token::expiration fields to be null (pre-migration creation)
Ran edgedb migration create with the following inputs:

➜  dropshop-api git:(demo-week) ✗ edgedb migration create
did you alter the type of property 'expiry_window' of object type 'default::Offer'? [y,n,l,c,b,s,q,?]
> y
Please specify a conversion expression to alter the type of property 'expiry_window':
cast_expr_1> <cal::relative_duration>'7 days'
did you alter the type of property 'expiry_window' of object type 'default::Reward'? [y,n,l,c,b,s,q,?]
> y
Please specify a conversion expression to alter the type of property 'expiry_window':
cast_expr> <cal::relative_duration>'30 days'
did you alter property 'expiration' of object type 'default::Token'? [y,n,l,c,b,s,q,?]
> y
Please specify an expression to populate existing objects in order to make property 'expiration' of object type 'default::Token' required:
fill_expr> 30
Please specify a conversion expression to alter the type of property 'expiration':
cast_expr> datetime_of_transaction() + <cal::relative_duration>(<str>.expiration
 ++ ' days')
did you alter object type 'default::Token'? [y,n,l,c,b,s,q,?]
> y
Please specify an expression to populate existing objects in order to make property 'time_created' of object type 'default::Token' required:
fill_expr> datetime_of_transaction()

Ran the created edgeql script (at bottom)
Received the below error:

edgedb error: InternalServerError: default for column "5e96ee02-d5f6-11ec-851e-2d7d45107583" cannot be cast automatically to type relative_duration_t
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      edb.errors.InternalServerError: default for column "5e96ee02-d5f6-11ec-851e-2d7d45107583" cannot be cast automatically to type relative_duration_t

.edgeql file (couldn't attach):
CREATE MIGRATION m1aipxh2mtgi54usdiovjzf7bovyvewkselmkwqe4z3ofdksvllxrq
    ONTO m1lay6izjogbeqfz6smvqtn677fanz24ovlbepp3r7ytz6ntq3cpua
{
  ALTER TYPE default::Offer {
      ALTER PROPERTY expiry_window {
          SET default := (<cal::relative_duration>'7 days');
          SET TYPE cal::relative_duration USING (<cal::relative_duration>'7 days');
      };
  };
  ALTER TYPE default::Reward {
      ALTER PROPERTY expiry_window {
          SET default := (<cal::relative_duration>'30 days');
          SET TYPE cal::relative_duration USING (<cal::relative_duration>'30 days');
      };
  };
  ALTER TYPE default::Token {
      ALTER PROPERTY expiration {
          SET REQUIRED USING (30);
          SET TYPE std::datetime USING ((std::datetime_of_transaction() + <cal::relative_duration>(<std::str>.expiration ++ ' days')));
      };
  };
  ALTER TYPE default::Token {
      CREATE REQUIRED PROPERTY favorite -> std::bool {
          SET default := false;
      };
      CREATE REQUIRED PROPERTY time_created -> std::datetime {
          SET REQUIRED USING (std::datetime_of_transaction());
      };
  };
};

Is there a manual workaround in the meantime? I assume it is coming from Token::expiration.

A workaround would be to remove the "default" from expiry_window and then re-add it in a subsequent migration.

@msullivan, looks like we are forgetting to apply cast_expr to default.

apply cast_expr to default doesn't make sense, it runs in the context of the whole object.


Convert to topkg.

This is what the cool kids are doing now, we want to be cool.

I think we're cool now.


It is possible to use @preact/signals-react with multiple webpack entries?

Hi, I'm working on a project where we have different React components that are injected into the page individually (multiple webpack entries) and I want to communicate the state between different components (on different entries) but using "signals" the state is not updated.
Some small code fragments:
// webpack-configuration.js
module.export = {
    ...
    entry: {
        'componentA': 'path/componentA.js',
        'componentB': 'path/componentB.js',
    },
    ...
}

// signal.js
import { signal } from "@preact/signals-react";

const count = signal(0);

export default count;

// componentA.js
import count from "path/signal.js";

const componentA = () => {
    return <button onClick={() => count.value++}>My button ({count.value})</button>
}

// componentB.js
import count from "path/signal.js";

const componentB = () => {
    return
 The number is: {count.value}

}

In the componentA the value changes and the new value is shown. ✅
In the componentB the value shown is the default value and never changes. ❌

Is it possible to work with this configuration/code?
Thank you very much!

Using the Context API would likely be the simplest solution, therefore avoiding wrangling Webpack.

Using the Context API (instead of direct import) would likely be the simplest solution, therefore avoiding wrangling Webpack.

@rschristian How would this be done? I can't get it to work.
// webpack-configuration.js
module.export = {
    ...
    entry: {
        'componentA': 'path/componentA.js',
        'componentB': 'path/componentB.js',
    },
    ...
}

// my-context.js

import { createContext } from 'react';
import { signal } from '@preact/signals-react';

const countSignal = signal(0);

const CountSignalContext = createContext(countSignal);

export default CountSignalContext;

// componentA.js
import React, { useContext, useEffect, useState } from 'react';
import CountSignalContext from '../../../../my-context';

const componentA = () => {
    const countSignal = useContext(CountSignalContext);
    return
{countSignal}
;
}

// componentB.js
import React, { useContext, useEffect, useState } from 'react';
import CountSignalContext from '../../../../my-context';

const componentB = () => {
    const countSignal = useContext(CountSignalContext);
    return <button onClick={() => countSignal.value++}>Signal: {countSignal.value}</button>;
}

The values are out of synch (7 - 0)

Have you forgotten to insert the provider higher up in the tree?

Have you forgotten to insert the provider higher up in the tree?
For example:
import CountSignalContext from '../../../../my-context';
const mySignal = signal(0);

const App = () => (
  <CountSignalContext.Provider value={mySignal}>
    <ComponentA />
    <ComponentB />
  </CountSignalContext.Provider>
)

@rschristian I'm sorry, maybe I didn't explain myself well from the beginning.
I have multiple webpack entries that are injected individually, so I don't see a way to add the "provider".
Code for injecting components into the DOM.
// component-a-dom.js
const elementID = 'component-a';
const container = document.getElementById(elementID);

const root = createRoot(container);

root.render(
    <ComponentA>
);

// component-b-dom.js
const elementID = 'component-b';
const container = document.getElementById(elementID);

const root = createRoot(container);

root.render(
    <ComponentB>
);

Thank you very much for your time.

Going to close this out, it's probably better suited for Webpack's issues than here.


Unable to read data from the transport connection

Expected Behavior
Tried to make calls to build and Get however get following error:
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
I tried to setup TLS and also tried to ignore any SSL errors but still get same error.
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12; ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
When I make curl requests using same build url and user and token it works fine.
Your Environment
I am running windows server 2016 and Jenkins ver. 2.222.1
My client code is .net 45

Update on this, if before making calls i add
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
I get a bit further I now get content length 0 error.  I downloaded source and in CreateRequest added
request.ContentLength = 0;
everything now works


Move root cpp files to cpp directory

This PR is to move the root .cpp files to a new cpp directory and update associated paths.

Should just make sure that magic leap continues to build.

Re: main.cpp, I think a better name for it would be android.cpp or mobile.cpp or stub.cpp or something. It's only purpose is to be a mobile bootstrap for node, and in fact is not used at all on desktop. So it could be confusing for newcomers to the codebase.

Closing in favor of #989


White flash on startup

Issue Type: Bug
On startup white screen flashes... It's very annoying.
Please provide a fix as soon as possible.
VS Code version: Code 1.66.2 (dfd34e8260c270da74b5c2d86d61aee4b6d56977, 2022-04-11T07:46:01.075Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

/duplicate https://github.com/microsoft/vscode/issues/132339


SELECT DISTINCT ON COLUMN

Attempting to-do a
SELECT
    COUNT(DISTINCT column_name),
    another_column,
    another_column
...

Is this currently possible @go-jet ? I saw SELECT(table.Table.ColumnName)).DISTINCT() But that wouldn't work in this scenario.

Currently, this is only possible with raw expressions:
s := SELECT(
	Raw("COUNT(DISTINCT(table.column))")).AS("alias")
FROM(table)

Currently, this is only possible with raw expressions:
s := SELECT(
	Raw("COUNT(DISTINCT(table.column))")).AS("alias")
FROM(table)

Seems to work, that's a pretty cool way to implement things until we have it typed as we don't have to make the entire statement raw, just the part that's unique.

Seems to work, that's a pretty cool way to implement things until we have it typed as we don't have to make the entire statement raw, just the part that's unique.

Aggregate DISTINCT operator included in Release 2.7.0.
Sample usage:
https://github.com/go-jet/jet/blob/3e802f8955f2f8e85852661f1c7d89ef72503d38/tests/postgres/select_test.go#L1195-L1203


write script to populate project organs field

We are currently adding a field to the project that can be populated with organs, this needs to be backfilled for all existing project in ingest. The two ways this will be done are:
For projects with submissions:

traverse the metadata graph and get a unique list of organs and organ parts

For projects without submissions:

query the dataset tracking sheet, get the free text organs and ontologise

Make an update submission to each project with the list of organs

@mshadbolt are you still working on this? Or is it done?

still working on it, I hope I should finalise it this week

perfect, thank you

The script and info are here: https://github.com/ebi-ait/hca-ebi-dev-team/tree/master/scripts/set-project-tech-organs
I will fill out the documentation properly in the next couple of days.


Add prefixes for nl_NL

Based on: https://www.vernoeming.nl/alle-333-voorvoegsels-tussenvoegsels-in-nederlandse-achternamen
Fixed a few consistency issues along the way with handling single quotes.
Added the prefix method.
Due to the nature $commonDutchLastNames and $dutchLastNames are set up (already including the prefixes) I did not want to interfere with the current formats, but simply add additional functionality.

Why have them all with and without capitalization? That makes using them in a clean consistent UI highly unpredictable...?

Hi @curry684, I took the data set as-is.
Is there anything specific you want to see changed before this can be merged?
As for the reason why I listed them both is that I can only assume it was listed in this particular matter because they are actually used as such.
Of course, it's possible to reduce the set and introduce a 'capitalize first' function, but that would not work well for 'S vs s' forms (or any other quoted prefix for that matter.

The problem is that if you have both the code might end up generating names like "Joran Van der Sloot" which is inconsistent with Dutch conventions. In general something that is not by definition capitalized, like eigennamen, should be generated without caps. If it is to be used in a sentence the invoker can call ucfirst himself.

@curry684 Ok, is it mergeable if I remove the capitalisation duplicates?
I was not aware that probability is (or should be?) a factor in faking prefixes and/or names.
Are you suggesting I should overhaul the way the names are rendered and separate the prefixes from the lastNames altogether, or should I just close this PR?
It's hard to find out what would make this mergeable from your response.

I'm just a contributor, I have no say in whether it's mergeable - I'm just sharing my opinion as a consumer of the library  :)

I'm not able to validate/invalidate this capitalization question. But @curry684's comments make sense!

The dataset provided uses both variants because they are used as such.
Both: 'Pieter De la Bateau' and 'Koen van der Broek' are perfectly valid Dutch names, but let's not overstep the pull request here, I just want be able to get the prefix, not the full name structure, that would require a rewrite.

Reference the authority on Dutch language: https://onzetaal.nl/taaladvies/hoofdletters-in-namen-nynke-van-der-sluis-nynke-van-der-sluis
We are actually both right - in Dutch Dutch the prefix is always decapitalized, so the 'Pieter De la Bateau' in your example would always be modified to 'Pieter de la Bateau' in the Netherlands. In Flemish Dutch however you are correct that the official citizen registry is leading, and 'Pieter De la Bateau' would be written as such if the surname were fully registered as 'De la Bateau'.
However the pull request is on the nl_NL locale, which is Dutch Dutch, and not Flemish Dutch which is nl_BE. Therefore in nl_NL the capitalized variants should not be present.

Rebased to remove capitalised duplicates.

Hi @fzaninotto, is this PR something you could include :)?

As long as you guys both agree, I'm fine with it ;)

Thanks!


Masonary style cards

I'm submitting a ...  (check one with "x")
[ ] bug report
[x] feature request
[ ] support request
How about showcasing masonary style ionic cards which adjust themselves during screen size change. Usage of Grid provides less flexibility.

Hey @Purus I'm sorry for the late reply.
I added an example of that on 114ef19c5cd4ef3d. Let me know if it helps you!


Fix building on RasPi

shims.h includesshims/lock.h which calls DISPATCH_INTERNAL_CRASH. However this is defined below the include of shims.h in internal.h and hence fails the build on the RasPi.
Moving the includes below the define of DISPATCH_INTERNAL_CRASH fixes the issue.
I don't know why this works on regular x86/x64 builds, though.

Closing this in favor of #233 which is about the same issue but has a better solution.


Dragon's Rage Breath has DC 0 (inconsistent classDC usage?)

Thank you for an amazing PF 2e game system! It has made running PF 2e online a delight.
After upgrading to v11 of Foundry and 5.6.2 of the plugin, one of my players noticed this:

This is using the following, which does not seem to work:
@Check[type:reflex|dc:resolve(@actor.attributes.classDC.value)|basic:true]

Looking through packs/feats also finds some uses of this, which doesn't work either:
@Check[type:reflex|dc:resolve(@actor.system.attributes.classDC.value)|basic:true]

However, changing this to the following works fine:
@Check[type:reflex|dc:resolve(@actor.classDCs.barbarian.dc.value)|basic:true]

Searching for classDC through packs/feats shows examples of all three usages, plus a few others. I'm not sure what each of the different variations is intended to do, and which are currently supported.
I'd be happy to submit a PR, except I'm not quite sure which is correct. Please let me know if I can help!

Feats from classes that use class DC should use that class DC, so the last one would be correct.

Great, thanks! Here are all the feats that use @actor.attributes.classDC.value or @actor.system.attributes.classDC.value.
packs/feats/roiling-mudslide.json
packs/feats/turn-the-wheel-of-seasons.json
packs/feats/dazing-blow.json
packs/feats/tremor.json
packs/feats/black-powder-flash.json
packs/feats/calcifying-sand.json
packs/feats/thunder-clap.json
packs/feats/weight-of-stone.json
packs/feats/steam-knight.json
packs/feats/megavolt.json
packs/feats/dragons-rage-breath.json
packs/feats/giant-slayer.json
packs/feats/gigaton-strike.json
packs/feats/aerial-boomerang.json
packs/feats/hell-of-1-000-000-needles.json
packs/feats/desiccating-inhalation.json
packs/feats/the-shattered-mountain-weeps.json
packs/feats/deep-freeze.json
packs/feats/elemental-explosion.json
packs/feats/loose-cannon.json

Are there any situations in which feats should still use classDC.value? I'm not sure how many of these would need to fixed.

Does the character have the barbarian class or just archetype?

Things that are from an archetype use your highest class DC, so would need @actor.system.attributes.classDC.value or @actor.system.attributes.classOrSpellDC.value if the feat uses the higher of those two.

This seems to no longer be an issue and should be closed.
First image comes from a full barbarian and is using the correct DC, second image is from a Thaumaturge with barbarian dedication and is using the highest of the two class DCs so it's correct on both sides.


Make tasklog ids in agent view links

Coverage remained the same at 66.15% when pulling 08e2f416aa01ea5f197fb8e7e6e84dc5a8c28447 on guidow:link_tasklogs_in_agent into 2470d45e570ae7f4bbfe5ef0fb155a6d93cc2bab on pyfarm:master.

Coverage decreased (-0.01%) to 66.14% when pulling 7410f549243cd6a276e3b6b1fd4de067e5ab0fcd on guidow:link_tasklogs_in_agent into 2470d45e570ae7f4bbfe5ef0fb155a6d93cc2bab on pyfarm:master.

Looks good, merging.


Bing ads PROOF-7

Thi is updated duplicate of #444 It includes updates to UI an some fixes.

@davidesner prosim koukni na r. 105-106, jestli to po uprave porad rika to, cos chtel. Diky!


'Multi-node Launch' test failing on System-E

The error I currently see is
stderr: srun: error: Task launch for 73706.26 failed on node c002n0032: Communication connection failure
stderr: srun: error: Application launch failed: Communication connection failure


Move the DID document to the well-known endpoint.

This had not been possible until now due to a limitation of CCF, but has been resolved in version 3.0.7.
To help transition, the document is available under both the existing and new paths.
Fixes #87

cc @ivarprudnikov


Lumeohq presign fix

Continuation of #225

@jplatte looks like this blows up presign tests, as the slashes in paths do not get encoded, holding off on merging for now

You have some string comparisons in those tests where you explicitly test whether %2F or / is encoded. It's obvious that they would change, but have you tested whether this works with actual S3 server implementations?

You have some string comparisons in those tests where you explicitly test whether %2F or / is encoded. It's obvious that they would no longer pass, but have you tested whether this works with actual S3 server implementations?

No, good point, lets see whats what in reality :)

@durch Any update on this?

@jplatte just looking into this again, thanks for the patience

Looks like this wasn't included in v0.28.0 or v0.28.1, was that intentional?

@durch Was this removed again intentionally? Looks like the commit you merged into develop never made it to master, and now you removed it from develop too 🙁


Lightbox isn't working in IE9 FIX

IE leaves you alone with the following message:
TypeError: Die Eigenschaft "add" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
   {
      [functions]: ,
      description: "Die Eigenschaft "add" eines undefinierten oder Nullverweises kann nicht abgerufen werden.",
      message: "Die Eigenschaft "add" eines undefinierten oder Nullverweises kann nicht abgerufen werden.",
      name: "TypeError",
      number: -2146823281
   }

no line numbers, no filename, just nothing.
after a bit of exploring the Lightbox object i found usages of classList.
So, You need to include a classList Polyfill and the Lightbox will work too in IE >= 9
-i knew that support is only for the last 2 versions of every Browser, but i think it will stop some Developers to use this Lightbox, if they notice that IE9 isn't supported, so here is a fix for them c:

Hey @wolf-w, thanks for detailing this. Luminous currently guarantees compatibility with the following browsers: https://github.com/imgix/luminous#browser-support
As all of those browsers support classList, we won't be adding this polyfill functionality at this point. You are, of course, welcome to include the polyfill in your page. If you do that, Luminous may work in IE 9 and friends, but there could also be other issues, as it is untested and unsupported. If it does work, that is also not a guarantee that it will continue to work in future releases of Luminous.
Let me know if you have any questions!

Hi,
i know That you wan't add it to the core, but u can write it down to the docs, so other developers can find a fix easily

Am 23.08.2016 um 19:57 schrieb Paul Straw<EMAIL_ADDRESS>Hey @wolf-w, thanks for detailing this. Luminous currently guarantees compatibility with the following browsers: https://github.com/imgix/luminous#browser-support
As all of those browsers support classList, we won't be adding this polyfill functionality at this point. You are, of course, welcome to include the polyfill in your page. If you do that, Luminous may work in IE 9 and friends, but there could also be other issues, as it is untested and unsupported. If it does work, that is also not a guarantee that it will continue to work in future releases of Luminous.
Let me know if you have any questions!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Since it's officially unsupported (and other issues may be present in browsers that don't support classList), we won't be documenting this at this time.


Unable to copy native notebook cell outputs

Issue Type: Bug
I am unable to copy the outputs of native notbook cells. The usual shortcut ctrl-c does not work, and right-clicking does not give the option to copy the output (only the cell).
It seems like in some occasions ctrl-c does work, but I have been unable to figure out when or reproduce it.
Extension version: 2021.8.2041215044
VS Code version: Code 1.60.1 (83bd43bc519d15e50c4272c6cf5c1479df196a4d, 2021-09-10T17:06:57.931Z)
OS version: Linux x64 5.14.6-zen1-1-zen
Restricted Mode: No

System Info

Item
Value

CPUs
AMD Ryzen 7 4800H with Radeon Graphics (16 x 2900)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
30.78GB (9.62GB free)

Process Argv
. --crash-reporter-id 9614dc43-c276-4d0e-94fc-c84de505d77f

Screen Reader
no

VM
0%

DESKTOP_SESSION
plasma-i3

XDG_CURRENT_DESKTOP
KDE

XDG_SESSION_DESKTOP
KDE-i3

XDG_SESSION_TYPE
x11

Thanks for filing @ldorigo.
We do have commands to copy the whole cell. To use them, get the cell in command mode (where there's a blue line on the left of the cell, and the editor is not selected). Then the keybinding is just c and then just v (no ctrl). Its done that way because that was already the default for notebooks.
You can also right click on the cell (and outside the editor) to see the c and v commands, and finally, they also show up if you press the ... button on the cell toolbar.
Let me know if that helps.

This should be the same issue as this one:
https://github.com/microsoft/vscode/issues/134249


js controller 3.3

i am using version 0.1.1
since the update to js controller 3.3 i recieve the following warning:
State value to set for "wallpanel.0.og_flur.lastInfoUpdate" has to be type "boolean" but received type "number"

Installiere bitte die neue Version  v0.1.7-0 von GitHub


Test debug toolbar in command center

Refs: https://github.com/microsoft/vscode/issues/192592

[ ] anyOS @anthonykim1
[x] anyOS @hediet

Complexity: 3
Create Issue

There is a new experimental setting that allows to show the debug toolbar inside the command center. Test that

the "debug.toolBarLocation" setting has a "commandCenter" option
the setting is well documented and mentions/links to the command center setting
debugging via the command center works
simple and complex debug configurations work
the debug toolbar never shows when not debugging

I think I like the debug buttons in the title bar, but I'm still not best friends with the command center (I never click on it, as I need to type in the F1 menu anyway, so it just adds visual noise).
Would be nice to have the debug buttons in the title bar without the command center.

I do appreciate leaving the search file functionality right next to the debug toolbar, but I wish the search button was at the end of the bar(perhaps at the most righthand side position), with the debug toolbar placed more centered out. Love the feature by the way!

Thanks for the nice feedback everyone

with the debug toolbar placed more centered out. Love the feature by the way!

This is how I started but the challenge is that the title width is dynamic (because it shows file names) which makes the debug buttons reposition while stepping through code. That can be very frustrating because for every click/step you need to make sure you still over the right button


ECM-1: added some more stories and moved the existing one

Closed pull request because it was replaced by #11


DNN fallback CPU ops #226

AMLS Exercise "DNN fallback CPU ops #226"DNN fallback CPU ops #226"
Yuyao Wang

Thank you for your contribution @WangYuyao The code has a few issues integrating with its CUDA counterparts. I would deal with these when integrating your efforts. Unfortunately the test cases you introduced are failing (locally and in the GitHub CI). I guess they did run when you tested before submitting the PR?

Yes, all the test cases were run before submitting and they are all passed on my machine.

Hi @corepointer, thanks for looking into this PR! I've run the test suite locally on my machine yesterday and all tests passed (both in the daphne-dev (X86-64) and the github-action CI container)...
Thanks for pointing out that there are inconsistencies with the CUDA counterparts. Sure, it would be great if you could address them or give @WangYuyao some hints on how to fix those himself.
@WangYuyao told me that he would be happy to continue working on this contribution over the summer to increase its value for DAPHNE.

Hi @WangYuyao & @pdamme,
I ran the tests again and they are still failing for me (running in the daphne-dev container in debug and release mode). If you want to continue your work to get behind these errors, this would be highly appreciated of course :)
For the integration with the main branch: besides some issues that arise if you try to compile with CUDA enabled, there will be some additional refactoring required to align with what's already there and what's coming from #734 (naming scheme changes mostly).

Dear Patrick,
Could you please provide me with the contact information of Mark Dokter (for example, his email address)? I did not find it on the internet.
Additionally, would it be appropriate to reach out to him via email? Communication through Github may be too "public" for me...
Thank you for your assistance!
Best regards,
Yuyao Wang
------------------ Original ------------------
From:                                                                                "daphne-eu/daphne"                                                                                @.>;
Date: Wed, Jul 31, 2024 07:52 AM
@.>;
<EMAIL_ADDRESS>Subject: Re: [daphne-eu/daphne] DNN fallback CPU ops #226 (PR #780)
Hi @WangYuyao & @pdamme,
I ran the tests again and they are still failing for me (running in the daphne-dev container in debug and release mode). If you want to continue your work to get behind these errors, this would be highly appreciated of course :)
For the integration with the main branch: besides some issues that arise if you try to compile with CUDA enabled, there will be some additional refactoring required to align with what's already there and what's coming from #734 (naming scheme changes mostly).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @WangYuyao & @pdamme, I ran the tests again and they are still failing for me (running in the daphne-dev container in debug and release mode). If you want to continue your work to get behind these errors, this would be highly appreciated of course :) For the integration with the main branch: besides some issues that arise if you try to compile with CUDA enabled, there will be some additional refactoring required to align with what's already there and what's coming from #734 (naming scheme changes mostly).

Dear @corepointer, the commit with ID fe41fef is the implementation of DNN CPU Ops which passed on both my and pdamme's machine. The latter is the attempt to implement a DNN example in DaphneDSL including adding the respective DaphneDSL built-in functions, registering the DNN CPU kernels, etc. However, I failed in this part. For example, the kernel function max_pooling returned a message "std::bad_array_new_length" and now I am trying to debug it.

Hi!
According to [1], this exception can happen for various reasons. Maybe a negative number is passed to some result matrix allocation or something like this? Unknown dimensions are represented by -1, so this could be a reason for the error. You could check what sizes are used there with a debugger.
hth, Mark
[1] https://en.cppreference.com/w/cpp/memory/new/bad_array_new_length

Hi! According to [1], this exception can happen for various reasons. Maybe a negative number is passed to some result matrix allocation or something like this? Unknown dimensions are represented by -1, so this could be a reason for the error. You could check what sizes are used there with a debugger. hth, Mark
[1] https://en.cppreference.com/w/cpp/memory/new/bad_array_new_length

Thank you for your reply and I will try to fix my code following your guidance!
Additionally, would it be convenient for you to communicate via email?
Thank you for your patience!

Hi!
Yes sure. Please connect us @pdamme
Best, Mark

Hi @corepointer, thanks for looking into this PR! I've run the test suite locally on my machine yesterday and all tests passed (both in the daphne-dev (X86-64) and the github-action CI container)...

I must correct myself. I noticed that I had commented out the new unit test cases for the DNN-related kernels when I ran the tests... When I don't comment out the test cases, they fail. However, I think I have found the cause. It's not directly related to the kernels, but to a subtle issue with the test case code itself. Each of those test cases had a little helper function, and those were all called check. When we give them unique names, e.g., checkBiasAddForward, then all test cases pass on my machine in the daphne-dev container. See my commit for details. I don't fully understand why that led to a problem, since the unit tests should be independent compilation units, but maybe there is a problem when they are used by catch2, I can only speculate...
However, now the CI tests fail with a different problem, already in the "Initialize Containers" step, i.e., unrelated to the DAPHNE source code:
failed to register layer: write /usr/local/lib/python3.8/dist-packages/torch/lib/libtorch_cpu.so: no space left on device

@corepointer: Do you have an idea what is going wrong there?

If the non-unique name check is a problem, then we might want to change that for the CUDA-based DNN kernel test cases, too.

Sorry, just hit the wrong button. This PR is still open.

Dear @corepointer,
I have questions about the form of the kernel ops definition in DAPHNE.
I found 2 ways of defining kernels. One is using 'namespace' and the other is 'Struct for partial template specialization - Convenience function - (Partial) template specializations for different data/value types'. Is there any difference between them?
Additionally, in the way of using 'Namespace', I found there is a namespace function named 'Forward'. Does it mean that originally there should also be a function named 'Backward' to implement the backward ops of DNN, and correspondingly in DaphneDSL DNN functions will be like 'Conv2d.forward' and 'Conv2d.backward'?
Similarly, to integrate both GPU and CPU versions of DNN ops, what should the form of functions be like in DaphneDSL? Will there be an argument like "use_cuda == 1" or a namespace function like 'conv2d.cuda' or 'conv2d' to distinguish which version of functions to use?
Thank you for your guidance!

Dear @WangYuyao,
The name spaces in the C++ kernel implementations is just an organizational measure. And I mostly omitted the convenience function as most code that calls the kernels is generated anyway. Also, Pooling is a special case where I put the opcode into the template parameters. This would normally be a function parameter in the convenience function that passes it on to the apply() method.
In the namespace of a kernel, e.g., CUDA::NN::Softmax there should be the structs Forward and Backward that have an apply() method. This would be the place where forward and backward passes for the Softmax layer can be implemented.
In the DSL I went for wrapper functions. But that's not merged to main yet and lives in the branch of PR #734. This is also how it's done in SystemDS and allows to encapsulate utility code like conv2d.init(...) and you can also easily exchange a script based conv2d against a kernel based call. So conv2d.forward(...) would call conv2d(..) appropriately. The backward functions I'd name the same way as in SystemDS (e.g., conv2d_backward_filter and conv2d_backward_data). With a wrapper script you can then call them both with conv2d.backward(...). Haven't implemented that yet in #734 though.
The decision if the CPU or GPU version is called will primarily be made by the DAPHNE compiler. At the moment the compiler pass to mark operations as GPU ops is quite primitive. But if an operation has the CUDASupport trait and the input is adequately sized, then the comiler would generate a GPU instruction instead of a CPU instruction. But only if you compiled with CUDA support and run with the --cuda CLI parameter or set use_cuda=true in the UserConfig.json file. There will be a mechanism to use special decorations in the DSL to pass extra information to the compiler. But that's a feature that is not implemented yet.
hth, Mark

Dear @corepointer ,
I have just uploaded my attempt to implement the CUDA version of batch_norm_backward op and the corresponding test file. However, when I tried to test the code by entering the command
" ./build.sh --no-deps --target run_tests && ./test.sh -nb batch_norm_bwd* -d yes --cuda",
the CUDA version was not executed. Could you please check my test file and provide me with some guidance on it?
Thank you for your time!

Hi,
Sorry for the delayed answer.
Two things caught my eye:

You don't compile with CUDA support. You need to add --cuda to the build.sh parameters. Do a build.sh --clean -y before switching from no CUDA to with CUDA support.
Once you compile with CUDA support you'll notice that your test code does not compile (clashing function names and a few other things)

hth, Mark

Dear @corepointer,
the implementation of BatchNormBackward GPU op and the corresponding test case is finished. I found that there is no implementation of that in the main repository and it is my pleasure that mine could be a part of #734  if it works correctly.
Besides, I noticed that there are conflicts in 'kernels.json', could you please give me some guidance on how to fix it?
Thank you for your help!

As I mentioned in my email, I fixed the issue in the course of rebasing your commits on top of main. So this will also cause conflicts. Maybe we can fix this next week.
Regards,
Mark

As I mentioned in my email, I fixed the issue in the course of rebasing your commits on top of main. So this will also cause conflicts. Maybe we can fix this next week. Regards, Mark
Gerne

Thank you for your effort @WangYuyao :+1:
After rearranging some thing and some cleanup I merged your contribution to the main branch. I did, however, not force push to your fork's main branch. This is why this PR is now marked as closed and not merged.