UX improvement: set the select/delete buttons in the right logical order

Hi!
This PR inverts the order of the select/delete buttons.
I think this one can be debated on!
I'm not a user experience designer but it felt really weird to have the "select/validation" button on the bottom left I instinctively tried to find it on the right and I thought it was awkward finding it the other way around.
Obviously it might as well just be me so it would be great to have other users input on this! :)
Here are a few screenshot of dialogs:
Sanity "cancel/delete" for a document: here the "validation" button is on the right:

Mac OS cancel/validation, same thing, validation is on the right:

Android (and pretty much always on mobile "validation" button are on bottom right since it's closer to the thumb):

You're absolutely right here, and your cited examples (and just about every other site / app) back this up too!


Add DEX mean price endpoint to webserver

Expose the mean prices in the webserver, filtered by the DEX pool address and asset pairs.
This PR depends on https://github.com/dcSpark/carp/pull/119, so only the last commit is relevant.
Example http query:
POST http://localhost:3000/dex/mean-price
content-type: application/json

{
    "addresses": [
        "addr1z8nvjzjeydcn4atcd93aac8allvrpjn7pjr2qsweukpnaytvcg6zm2vds6mz9x3h3yalqmnf24w86m09n40q3tgqxjms9yu6v8"
    ],
    "assetPairs": [
        {
            "asset1": null,
            "asset2": {
                "policyId": "c0ee29a85b13209423b10447d3c2e6a50641a15c57770e27cb9d5073",
                "assetName": "57696e67526964657273"
            }
        }
    ],
    "limit": 3,
    "untilBlock": "c95cac3036fcea430836d3bd40905e36989a2ef0e3f0602bc69d3c2043b909d3"
}

Do not merge. It is a part of https://github.com/dcSpark/carp/pull/125

It's okay to close this now, right?


Accessibility violation of rule aria-required-children in MenuList

React/React-dom version: 18.3.1
React-Menu version: 4.2.3
Describe the bug
There is focusable li element at the start of MenuList component and its role="none" violates the aria-required-children rule.
To Reproduce

Can be seen in source code from console in examples https://szhsin.github.io/react-menu/. Also seen from accessibility tree that the first element empty generic.

Expected behavior
Rule aria-required-children or other accessibility rules should not be violated.
Menu role should only contain menuitem, menuitemcheckbox or menuitemradio roles as children.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menu_role
https://accessibilityinsights.io/info-examples/web/aria-required-children/

Thanks for answering!
We are running jest-axe .toHaveNoViolations() against our own wrapper of this component and noticed this violation after updating our component library libraries.
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/user-event": "^14.5.2",
"jest": "^29.7.0",
"jest-axe": "^9.0.0",
"jest-environment-jsdom": "^29.7.0",
https://www.w3.org/WAI/ARIA/apg/patterns/menubar/
States that:
"The items contained in a menu are child elements of the containing menu or menubar and have any of the following roles:
menuitem
menuitemcheckbox
menuitemradio"

Thanks for providing more context. I tested with jest-axe and can confirm the same error that was reported. I will remove the focusable <li> element in the next release.


Support limiting memory, cpu, nice and so on.

What else are you referring to, with the "...and so on"?
I could see nice levels being adjusted, but I don't think that limiting memory, and CPU, is within the scope of the project. However, I am open to hearing any reasons why you would like to have such things implemented.


Edge Addons shows an old version of Salesforce Inspector Reloaded

[x] I've read the common issues and the one I'm about to create is not one of those documented.

Describe the bug
Tool Accessibility: This is the link to where Salesforce Inspector Reloaded is found for Edge. It is showing version 1.19 instead of the latest 1.22. Is there a reason for that?
(https://microsoftedge.microsoft.com/addons/detail/salesforce-inspector-relo/noclfopoifgfgnflgkakofglfeeambpd)
To Reproduce
Steps to reproduce the behavior:

Visit https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home
Search For Salesforce Inspector
Click on Salesforce Inspector Reloaded
Get recent version.
When using the extension, the newest features are missing! :)

Expected behavior
The most recent version (1.22 at the time of this issue being created) would be available from the Edge Addons portal.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser Edge
Version 124.0.2478.67

Additional context
This occurred as the assumption that the chrome extension and Edge Addon portal would match for Salesforce Inspector Reloaded. While I had installed and received updates, my work colleague was not understanding how his version was not updating and showing the new features.
FYI, the new features are awesome.
Trat

Hi @Tratius,
Yes there's a reason for that but I should write it somewhere in the documentation or in edge application store 👍
In fact chrome extensions can be installed in edge, that means if you visit reloaded chrome web store from edge, you will be able to install chrome version on edge.

Thanks Thomas! It is how we got through it for my colleague. I appreciate the follow up!


MFEM2PUMI and PUMI2MEM field transfer for 2D Triangular Meshes

This pull request achieves the following:

Adds the tables needed to figure out relative orientation of pumi vs mfem simplex entities in one location (that is pumi.cpp)
Adds the necessary changes for the solution transfer of fields on 2D triangular meshes.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#2060
@mortezah
@tzanio
@tzanio + @YohannDudouit
02/24/21
⌛due 03/10/21
⌛due 03/17/21

Reminder to mark this as ready-for-review when it is ready, see https://github.com/mfem/mfem/blob/master/CONTRIBUTING.md

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...


Function signature does not match previous declaration with const inside a template

I reduced the error down to the following simple example.
# test.pxd
from libcpp.memory cimport shared_ptr
cdef int foo(shared_ptr[const int] x)

# test.pyx
from libcpp.memory cimport shared_ptr
cdef int foo(shared_ptr[const int] x):
    return 1

Cythonizing test.pyx gives,
Error compiling Cython file:
------------------------------------------------------------
...
from libcpp.memory cimport shared_ptr

cdef int foo(shared_ptr[const int] x):
    ^
------------------------------------------------------------

test.pyx:3:5: Function signature does not match previous declaration

I have the same error. The main difference is that, in my minimal example, I'm using cpdef extern

Has this been fixed?


removed unused functions and updated terminateTerminal to send exit

It appears that squashing the PR removed you from the commit (which is weird). Don't worry, I already planned on adding you to the README ;)


Fix NATS prefix

Replace channel subject prefix by channels

I am also bothered with the fact that in API we have /messages suffix, and in NATS we don't - and I think we do not really need it in adapter APIs neither and that is just unnecessary complication.

Fixed here: https://github.com/mainflux/mainflux/pull/1098


Expand on inter process communication (IPC)

Adds an extended version of Thomas Iser's Python IPC implementation
Fixes #116 by adding information about IPC to the readme (with a link to Karel Peeters' Rust implementation)
Fixes #120 by using a global threadpool in most places rather than local threadpools

Oh snap, my bad. Too used writing it with h. :p Fixed!


Support Request: do you need the SwitchBot hub with this plugin?

Describe Your Problem
SwitchBot Hub necessarily requested?
Relevant log output
Hello, I’m about to install two Switchbot curtains and I’d like to know if the Switchbot hub is necessarily requested to make this plugin work and see the device in the Home app. Thank you for you support.

Config for homebridge-switchbot
No response
Screenshots
No response
Device & Model
N/A
Node.js Version
14.16.0
NPM Version
7.6.3
Homebridge Version
4.41.3
Homebridge SwitchBot Plugin Version
The latest
Homebridge Config UI X Plugin Version
No response
Operating System
Raspbian

@FranciRoosters You can use it without a hub, you just don't provide the OpenToken

Thank you. I appreciate your answer. I’ve read other users saying that the plugin is somewhat unreliable over BLE. Would using the OpenAPI method make it more reliable? Thank you.

You could use both methods if you have a hub, it will try BLE first and if it fails then it will fallback on OpenAPI.
When using OpenAPI, a hub is required for some devices.

Thanks for getting back to me. I’ll start the configuration of everything tomorrow when I’ll be able to install the SwitchBot curtains on my current rods. I’ve already installed the plugin, but upon installing it I’ve got this. Not really sure what it means as I can still interact with the plugin config page. Will it not work though? Thank you.

On 3 Dec 2021, at 16:05, Donavan Becker @.***> wrote:

You could use both methods if you have a hub, it will try BLE first and if it fails then it will fallback on OpenAPI.
When using OpenAPI, a hub is required for some devices.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Guess it didn’t paste the screenshot, did it?

What’s the right sudo command to run in the HB Terminal? Is it safe to execute? I’d rather not mess my setup up. Thank you.

On 3 Dec 2021, at 17:32, Donavan Becker @.***> wrote:

@FranciRoosters You just need to update your node version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

What’s the right sudo command to run in the HB Terminal? Is it safe to execute? I’d rather not mess my setup up. Thank you.
…

Follow these steps here!
https://github.com/homebridge/homebridge/issues/3002#issuecomment-955994607

Thanks @bwp91

Thank you!

On 3 Dec 2021, at 17:51, Donavan Becker @.***> wrote:
Thanks @bwp91 https://github.com/bwp91
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/OpenWonderLabs/homebridge-switchbot/issues/126#issuecomment-985672860, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATQII4PQPIXKJZJ3YGMVVULUPDYRNANCNFSM5JHZCW5A.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Lock video orientation

Hi Viro team,
How to lock screen orientation in ViroVideo
I want handle toggle vrModeEnabled in ViroSceneNavigator.
Thanks

Hi @anhtuank7c,
"How to lock screen orientation in ViroVideo"
I'm not clear as to what you are trying to achieve here - can you explain the use case customer experience that you have in mind in this scenario? For example, are you trying to lock the screen orientation when a user views a 3D scene with a ViroVideo?
It is also important to note that developers should not be manipulating screen orientation modes in VR - it should always be landscape, as the customer is viewing the experience through the VR HMD (modifying it would cause unexpected visual experiences).
Also, as existing options are already available - device orientations are handled by the native mobile APIs already, and possibly by existing react native libraries / addons - we do not see the need yet to add additional support for locking screen orientation through the Viro APIs.
"I want handle toggle vrModeEnabled in ViroSceneNavigator."
You can do this by creating ReactNative boolean state that toggles the vrModeEnabled value within the ViroSceneNavigator. For example, within the App.js in Viro's Hello world example:
// Add a vrModeEnabledFlag to as a boolean state (around line 50)
this.state = {
      navigatorType : defaultNavigatorType,
      sharedProps : sharedProps,
      vrModeEnabledFlag: true // Add flag here
}

// Associate this flag with the vrModeEnabled property in the ViroSceneNavigator  (around line 111)
<ViroSceneNavigator  vrModeEnabled={this.state.vrMode}/>

// Create a function to call to change the state
  _setVrModeEnabled(enabled) {
    this.setState({
      vrModeEnabledFlag : enabled
    });
  }

However, please note that there is also currently a bug with switching between 360 mode and vr mode  that we are currently looking at at the moment as well.

Good day @dthian
I am sorry about unclear question.
I can redescribed the question.
I used vrModeEnabled={false} to display ViroV360Video in 2D mode.
example code:
<ViroSceneNavigator
          debug={false}
          vrModeEnabled={false}
          apiKey={configs.vrKey}
          initialScene={{
            scene: () => (
              <ViroScene onClick={() => this.onToggleActionBar()}>
                <Viro360Video
                  loop={false}
                  source={require('~/assets/videos/360.mp4')}
                />
              </ViroScene>
            )
          }}
          onExitViro={onDone}
        />

The problem only on Android, i do lock screen orientation to portrait only in AndroidManifest.xml, and choose also lock screen in phone settings to portrait
android:screenOrientation="portrait"

Case 1: When playing video while android phone stand as portrait => The video play right orientation.
Case 2: Playing video while android phone place on the table, the video auto rotate to landscape even i locked app|phone settings to portrait => this is the problem that i asked above.

I am not switching between mono to vr mode, keep using mono mode only.
quotation:
"It is also important to note that developers should not be manipulating screen orientation modes in VR - it should always be landscape, as the customer is viewing the experience through the VR HMD (modifying it would cause unexpected visual experiences)."

=> You are right, but for now i have to work with my customer, sometime they just want me to follow the design :D

Thank you so much.

Hey @anhtuank7c, thanks for your further explaining your situation, that helped alot!
With regards to Case 2 as you mentioned above, that sounds like a bug on the Viro Platform. The app should not rotate back to landscape if you've specifically set the orientation to portrait.
I'll file a bug on the backlog so that we can take a look at it. As a mitigation / workaround, you can enforce your portrait mode by adding this following line of code to your MainActivity.java:
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

Do let us know if that still does not work. Thanks!

WOW, you saved my day. Thank you so much.

It's rotate landscape then back to portrait in the first time.
The second time not rotate landscape again.
So i think this is an issue and still need fix

Hi @anhtuank7c, I'm not sure if i understand - from the above, weren't you trying to lock the application in portrait mode (when attempting to set android:screenOrientation="portrait")? I've tested the onConfiguration patch again and the portrait orientation is retained if you enter the app the first time, and even if you exit and re-enter the application - as such it should work.  If not, can you send the repro case steps you've done to get into a situation where it doesn't work?
For the moment, the onConfiguration patch is just a mitigation - this is still indeed a bug on our platform that will need to be fixed, so let's keep this issue open until then.
"The second time not rotate landscape again."

Weren't you trying to lock the app in portrait mode?

Hello
It still happens with react-viro: 2.14.0 :)
Anyone can check?
Thanks!

Hey @tuananhcwrs, that is strange. But does the above mitigation not work for you?

Hello @dthian ,
Bad luck that nothing working :(
Thanks!

@tuananhcwrs did you try the mitigation above? Did you see the issue persist even with the mitigated solution above?

Hello,
I use this
You suggestion was:

I'll file a bug on the backlog so that we can take a look at it. As a mitigation / workaround, you can enforce your portrait mode by adding this following line of code to your MainActivity.java:
```

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Do let us know if that still does not work. Thanks!

But it does not work. Video keeps flicking


VS Code does render all UTF8 characters correctly

VSCode Version: 1.5.2
OS Version: Windows Server 2016 RS1, Windows 10 AU

Steps to Reproduce:

Copy these characters ᚠᛇᚻᚠᛇᚻ into any Visual Studio Code file.

These are the Rune characters from http://www.columbia.edu/~fdc/utf8/

In Visual Studio Code they will appear as blank rectangles, however if you paste them into Notepad they render correctly.

I tried Consolas, Courier New and monospaced and they all would not render the characters correctly.

Font issue?

That's what I first thought.  As per my notes I tried the default fonts (Consolas, Courier New and monospaced).  Conemu2 which also uses Consolas also renders correctly.

Seems strange that notepad.exe (of all apps!) would render it ok and not VS Code.

@bpasero Chrome's default font linking does not include Segoe UI Symbol, which contains Runes.

Ok.  So short version is, can't be fixed?

Duplicate of #5696
Chromium knows about it and have already fixed it in May - https://bugs.chromium.org/p/chromium/issues/detail?id=607528
We will get the fix ... eventually.


Unable to import FS

I'm trying to import FS in order to write the outputs of each conversation to a JSON file, but importing the FS module returns the following error:
X [ERROR] Could not resolve "fs"
convex/messages.ts:5:20:
  5 │ import * as fs from "fs";
    ╵                     ~~~~

The package "fs" wasn't found on the file system but is built into node. Are you trying to bundle
for node? You can use "platform: 'node'" to do that, which will remove this error.
Any ideas how to fix this? I've tried adding FS directly to the node_modules directory but it isn't able to import it.

This isn't running in a node server and it doesn't have access to the filesystem. The conversations are already being written to the database - you could write to another table in a different format, if you want it in a different format than it's already in? You can dump the database with just convex export and there will be a .jsonl file with the messages, but you'll have to connect them with their associated conversations. make sense?


Not find vision tower: model_zoo/OpenAI/clip-vit-large-patch14-336

Hi, Nice work! but when i run the example code , i have encounter some problems,when i run python -m minigemini.serve.cli  --model-path YanweiLi/Mini-Gemini-13B-HD   --image-file Woman.jpg ,i got the error ValueError: Not find vision tower: model_zoo/OpenAI/clip-vit-large-patch14-336 ,how can i solve this problem thank u!

I think you'll need to download the clip-vit-large-patch14-336 under model_zoo/OpenAI/

I think you'll need to download the clip-vit-large-patch14-336 under model_zoo/OpenAI/

thank u bro , i appreciate

Thanks for the answer @YeTianJHU. Please reopen this issue if not fixed


Middleware example should be async

There are two examples of middlewares at the documentation, a function and a class middlewares. The function middleware should be async and the class middleware doesn't actually work.

Hey @rougeth, can I take this one?

@jessicapaz Are you still working on this issue? If you're not please let know.


test homu

@cl-homu r+

@cl-homu r+

:pushpin: Commit 6786e7c9af97b2da54e0533923257f927f605a7e has been approved by kihahu

@cl-homu r+

@cl-homu r-


Investigate DLDSR

Dunno if it will be available as SDK embed fable in your layer, but seems cool!
https://videocardz.com/newz/nvidia-announces-dldsr-deep-learning-dynamic-super-resolution-coming-to-geforce-drivers-on-january-14th?fbclid=IwAR1oEYYmA5ncPnv2t-uj8s7efofVHBeda0tdbGLvCTX5sIqGzeJxhFH3F38

Interesting stuff, thanks for bringing it up. Yes SDK is a must for any kind of investigation.
If it is similar to DLSS, then it still requires certain resources to be provided by the application. I'd love to be able to try DLSS with FS2020, but with the game not submitting its depth buffer, this is (almost) a lost cause :(
Maybe these techs won't require it and simply having access to the color texture is enough...

As far as I understand DLSS requires input buffers to upscale, while this tech is just taking a high resolution image and scaling it down with minimal artifacts.

The real question is how good will it perform (fps), compare to DLSS?

DLSS requires 3 things in input:

the color buffer (aka the image to upscale)
depth buffer (providing pixel depth information)
motion vectors (showing how much pixels have translated since the previous frame)

1, we always get and that what we already use for NIS and FSR.
3, we can compute from 1 using the previous frame.
2, we must have this from the application. There's no going around.

Well, many VR headsets using fresnel lenses render at resolutions higher then real lcd screen (Ex. Reverb G2)
So I might be wrong but with this tech we could potentially render at screens native resolutions and only virtually render 2.25 more pixels, achieving actual visual results but with more performance.

Anyway this would be a little game changer for VR and I doubt Nvidia wouldn't have already talked about VR-revolution at CES. So I think DLDSR won't be available for VR, at least for now.

I have to close this issue, it's not actionable.
I've been looking for an SDK for DLDSR and I could not find it. Nvidia developers site, Nvidia GitHub, even dug into their other SDKs like CUDA to see if their was anything.
If Nvidia releases and SDK in the future I'll be happy to re-assess but for right now there is nothing I can do.


HUSH-361 Destructured deployment token

Deployment Token was split into two parts. The secret part is called
Deployment Password now.
Add support for Deployment Password as a separate input value and
as a pre-created Secret.
Store destructured Deployment Token into sensor config map.

Revision 1
Compare

0..1

CC @horomena @sladkani @moshe-hush

Revision 2
added test coverage for deployment.secretKeyRef
Compare

1..2
0..1, 0..2

CC @horomena @sladkani @moshe-hush

Revision 3
some cosmetics + bump the version
Compare

2..3
1..2, 1..3
0..1, 0..3

CC @horomena @sladkani @moshe-hush


Write down all the timestamps we have and the rules they follow

How the VM should adapt and validate these

https://hackmd.io/@IF/Byq6fjlSh?type=view


Monitor - manage roundabouts

When a roundabout is part of a route, KPN detect a discontinuity and create a new OSM segment.

In this example, the route is "artificially" cut in 7 segments.
Shortest (2, 4 and 7) are roundabouts.

Another example with a roundabout in one piece, here in Voie de Soulac.

In release v4.3.0, the route analysis logic has been changed. Roundabout processing has been much improved, especially for cycling routes where forward and backward direction are taken into account.  Additional logic that allows going against the direction of traffic for hiking routes to take the shortest path (issue #313) has not been implemented yet at this moment.


📦 NEW: Support For Almost Any City in Pakistan

Added support for almost any city of Pakistan. Instead of importing data from json files, scrapping it from urdupoint's website.

Sure, will look into that

@ahmadawais changes made. Scrapped data and updated the data directory.

I am looking into Geo's website, there few things I want to say:

There is no consistency in h2's
They are only providing data for 23 cities

Where as on Urdupoint there data is quite consistent for scraping and they providing data for around 200 cities which includes KPK's cities. Also in KPK's few cities first Ramadan was on 24th April. This might be the reason few data files were of 24th insted of 25th April.

@ahmadawais also if you allow me I can post scraper for generating data but that is made on urdupoint's website

I don't want the GEO site. Your data is wrong. I don't care what source you use as far as the data is correct. I mentioned Geo as a reference. Please read all of my comment again. Add the script that scrapes and remove the data files. Also the scrapper should produce wrote data otherwise the roza number would be wrong.

oh my bad, actually there 29 entities for Ramadan calendar on the source I was using, that's why scraper was creating 29 days instead of 30.

Then find a way to fix it, use another source, find an API if you can. But in the current form, the data that gets generated is incomplete and wrong. Which makes it difficult for me to accept this PR despite all the time and effort you put into this.

I am looking into that @ahmadawais

@ahmadawais

Data files removed

Added scraper which scrapes data from hmariweb, for 99 cities.

Added an npm script npm run get-data which will generate data files for 99 cities replacing the old ones and will also update cities.js file.

Made minor changes in readme.md

Support for multi word cities

@mian-muhammad the problem I mentioned is the same. You didn't address it. I'm currently checking the data for Lahore and it's wrong. The first ramadan is shown as 24th April and 30th of Ramadan is shown as 23rd May — this is all wrong.
When I run npx ramadan-cli it shows me the wrong data of 12th May instead of 13th May that would be today because you are adding an extra roza in the start which is wrong.
The idea is great. I love the work you have done here. But I can't use it if the data produced by this work is wrong. Can you fix this issue for all cities and request a review once that's done?

@ahmadawais sorry I was not aware of the behavior of toISOString, that's why dates were messed up. I have updated the code as you asked:

Added cheerios and axios as devDependencies

Removed additional log statements

Fixed the date issue

Update readme.md file

@mian-muhammad I'm sorry I was not able to entertain your PR. Did you end up fixing the data?


Import - Import_ID duplicate check

Added Import_ID DB field to Location. Updated LocationCsvBulkLoader to create a duplicate check for Import_ID. This will allow an optional duplicate check for large imports that may time/error out.
Updated docs to illustrate how to use Import_ID on import.

Current coverage is 66.25% (diff: 100%)

Merging #122 into master will increase coverage by 0.42%

@@             master       #122   diff @@
==========================================
  Files             4          4
  Lines           240        243     +3
  Methods          24         24
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            158        161     +3
  Misses           82         82
  Partials          0          0

Powered by Codecov. Last update b838f5d...8b77a9d

tested without the Import_ID field and it worked as expected


Update .editorconfig for Viller's tab fetish

I'm so aroused right now. To be fair, I gave in to your single quote fetish. I hope that makes us even.


Add OMP and AABB cpu dispatch

Hey Alex, lemme know where you want me to go with this.... just an initial stab at what we talked about.
The AABB version seems ok... for ubq it's about a 3x speedup over "naive", which seems about right. Haven't tried with larger systems yet.
Interestingly, seems like no extra compiler flags needed for OMP, though I'm not yet convinced it's actually working properly.... it seems to multi-thread only intermittently for me.

Closing this to clean things up.


Consider .gitignoring app/vendors

requirements.txt should be all we really need to check in, and changes including stuff under app/vendors are a hassle to review (e.g., PR #616).
Under the Python 3 runtime, App Engine will install our dependencies from requirements.txt itself (docs), so we won't even need to upload the files to AE ourselves, and IMO we should certainly drop them from version control at that point. The question is whether we should drop them from version control now, while we're still on the Python 2 runtime and need to upload these files to AE.

I believe we originally decided to check in app/vendors to make local development and releases easier. But I agree that it's annoying, and I'm OK to remove it from version control if:

It is clearly documented how to locate them, if it still needs to be located manually for dev app server.
We make sure that we don't accidentally make a release without locating app/vendors. Maybe it is already ensured by running unit/server tests in our release script?

Maybe we should add thr pip inatall command to our release script, in case someone upgrades a library in requirements.txt but the new version doesn't affect our tests.

That's a good point and sounds like a good idea.

This is done and the docs have been updated.


clarify hot reloading

the readme states "Hot reloading and debugging of TypeScript files works, but hot module replacement does not work." the two things, at least as I see them, are equivalent, so the question of whether hot reload work remains unanswered. Thanks.

 What I meant is that the app automatically reloads whenever you make a change in the code, and I thought that this was called "hot reloading", but that is not correct. I haven't tried React Native in plain JavaScript, so I don't know if the experience is less smooth when coding in TypeScript. Reloads are faster than the initial load, but I guess this is because the Expo client can cache some of the resources.
Thanks a lot for pointing this out. I've updated the readme to reflect his.


Help in key generation and the PEM format

Description

Type: Help request (if something like that exists ... )

Please keep in mind I posted my question to the mailing list almost a week ago and didn't receive an answer or any acknowledgement. That's why I'm posting this here cause I'm getting desperate

The question itself
I used the pk_gen.c example program to generate a pk_context. I was successful in writing the PEM formatted private key to a file but I can't really figure out how to I can get a public key out of what I just created, a helpful link to the PEM format and it's usage in this case would also be welcome.
Again, sorry for posting this here but the mailing list ignored me or I messed up somehow and didn't get any help.
Sorry for wasting your time but thank you for reading this! :)

Thanks for the help! Hope I didn't come out as an a**hole I really didn't mean to, I was just desperate for help. Thank you for the help, I'll check out the mailing list! :)


Use GitHub Actions to build production bundle and release it

It should be possible to use GitHub Actions to build a production bundle and add it as an artefact to a GitHub release. If this works, the dist folder should be added to .gitignore and the README should be updated.

For inspiration: https://gist.github.com/azu/673426500458f63f019c8f5e013f282a


Tombstone processing needs to track tenant id

Here's the culprit:
    private async Task executeTombstoneBlock(UpdateBatch batch, CancellationToken cancellationToken)
    {
        await using var session = (DocumentSessionBase)_store.LightweightSession();
        await session.ExecuteBatchAsync(batch, cancellationToken).ConfigureAwait(false);
    }

That method needs to be tenant aware

This was fixed, lost sight of when exactly


Consider contenteditable

At this moment, I'm using textarea as input fields which only appear when a user clicks on an Element (block / paragraph). This makes text selection difficult, as the element is unmounted when the user clicks. So the user needs to click before selecting. #78
One way to improve upon this, is to use contentEditable, which allows for far richer editable elements. However, this also presents some challenges:

ContentEditbale + React is really complicated! I heard of some projects that have decided to just skip react, and simply use native DOM apis at this level
But I still want to render React components in the Document editor

contentEditable is way to much of a hassle to get right even without React. Our best bet is to use something like Slate's api to build our own custom experience or if we just want to solve the selection bug we could look at the DOM's Selection apis.


rerun notebooks

delete demo_zarr.ipynb as equivalent to demo_zarr_experimental
rm date from demo_zarr_experimental and rename datasets
add obs.to_xarray(like=forecast) to demo_observations

BTW: zarr training-input looks incomplete.

@floriankrb are you ok with the changes?

after this PR I would appreciate a new release


user12986714: Watch iotizer.com

user12986714 requests the watch of the watch_keyword iotizer\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

iotizer\.com has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by Daniil in Charcoal HQ


Please update the README.md

https://github.com/telegraf/session/blob/872f978e8ed9fccece390d5231312ae6ebf18318/README.md?plain=1#L35
https://github.com/telegraf/session/blob/872f978e8ed9fccece390d5231312ae6ebf18318/README.md?plain=1#L61
https://github.com/telegraf/session/blob/872f978e8ed9fccece390d5231312ae6ebf18318/README.md?plain=1#L87
https://github.com/telegraf/session/blob/872f978e8ed9fccece390d5231312ae6ebf18318/README.md?plain=1#L116
https://github.com/telegraf/session/blob/872f978e8ed9fccece390d5231312ae6ebf18318/README.md?plain=1#L144
There are more unimported sessions, which made me confused at first what should be imported.
But actually it should be done.
import {session} from "telegraf";

The lack of basic query statements makes me wonder why the output of console.log(ctx.session) is undefined
But it's actually used like this.
import {Context, session, Telegraf} from "telegraf";
import {Update} from "telegraf/typings/core/types/typegram";
import {Mongo} from "@telegraf/session/mongodb";
import {SessionStore} from "telegraf/typings/session";

const BOT_TOKEN = process.env.BOT_TOKEN || ''

const store: SessionStore<object> = Mongo({
    url: "mongodb://<IP_ADDRESS>:27017",
    database: "telegraf-bot",
});

export const bot: Telegraf<Context<Update>> = new Telegraf(BOT_TOKEN)
bot.use(session({store}))

// bot.use(useNewReplies())

bot.on('message', async ctx => {
    const session = await store.set('test1', {'123': 123})
    console.log(session)
    const session2 = await store.get('test1')
    console.log(session2)
})

1

There are unimported sessions, which made me confused at first what should be imported.

This was intentionally left out to only show what is in scope of this package. Telegraf is also not imported, since they're both imported from the "telegraf" package:
import { Telegraf, session } from "telegraf";

I'll think about how to document this better.
2

But it's actually used like this.

No! Session works like this:
bot.use(session({ defaultSession: () => ({ count: 0 }) }));

bot.on("message", async ctx => {
	ctx.session.count = ctx.session.count + 1;
});

bot.command("count", async ctx => {
	await ctx.reply("Message count: " + ctx.session.count);
});

Whenever you read or write to ctx.session in a middleware, it will be updated to store. The key is the current update's ${ctx.chat.id}:${ctx.user.id}.
3
Also, these explicit types are unnecessary, you should let TypeScript infer the correct types:
- const store: SessionStore<object> = Mongo({
+ const store = Mongo({

- export const bot: Telegraf<Context<Update>> = new Telegraf(BOT_TOKEN);
+ export const bot = new Telegraf(BOT_TOKEN);

4
You should also avoid importing from telegraf internals. You can only import from "telegraf" or "telegraf/*" (one level, like telegraf/types, telegraf/format). Anything more will break in the future.
import {SessionStore} from "telegraf/typings/session";

I'm not very clear, but there is still a problem, my version is as follows
dependencies:
@telegraf/session 2.0.0-beta.6
@types/node 18.15.3
glob 9.3.0
kysely 0.23.5
mysql2 3.2.0

devDependencies:
@aws-sdk/client-s3 3.292.0             ejs 3.1.9                              multer 1.4.5-lts.1
@aws-sdk/client-sts 3.292.0            express 4.18.2                         node-modules-utils 0.8.2
@aws-sdk/s3-request-presigner 3.292.0  express-xml-bodyparser 0.3.0           nodemailer 6.9.1
@kubernetes/client-node 0.18.1         fs-extra 9.1.0                         nodemon 2.0.21
@lafjs/cloud 0.0.2                     jsonwebtoken 8.5.1                     telegraf 4.12.2
alipay-sdk 3.3.0                       lodash 4.17.21                         ts-node 10.9.1
axios 1.3.4                            log4js 6.9.1                           typescript 4.9.5
database-proxy 0.8.2                   minio 7.0.32                           validator 13.9.0
dayjs 1.11.7                           mongodb 4.14.0                         ws 8.13.0
dotenv 8.6.0                           mongodb-uri 0.9.7

Here is working, but it warns me with TS2339 error

TS2339: Property 'session' does not exist on type 'NarrowedContext  , MessageUpdate >'.

But switch to store , it won't work and give me the following error

Because we add something to Context, we want to let TypeScript know about it.
interface MyContext extends Context {
	session: Session; // define your Session type here
}

// tell Telegraf about your context type
const bot = new Telegraf<MyContext>(token);
bot.use(session({ store }));

bot.on("message", async ctx => {
	ctx.session = ...; // assign something to session
	console.log(ctx.session); // retrieve session
});

You should not try to do store.get or store.set yourself. Telegraf calls them internally.


Use Tox on Travis

This is Work In Progress right now.

Travis now runs the tests on Python 2.6, 2.7, 3.3, 3.4 and 3.5. And flake8 is also run.


AWS_PROFILE and ~/.aws/credentials

What problem are you facing?
Please enhance the aws ProviderConfig to support sources other than access_key and secret_key environment variables
The Terraform provider, for comparison, can obtain creds given only an AWS_PROFILE, provided that it can locate the shared credentials file (and shared configuration file for non-default profiles).
https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration
This way, creds managers like Leapp can work seamlessly with Terraform:
https://blog.pethron.me/how-to-access-aws-and-azure-in-terraform
How could Crossplane help solve your problem?
If Crossplane could consume only AWS_PROFILE then it would be possible to use a creds manager like Leapp to refresh the short term credentials.
What I am looking for is support for AWS_PROFILE in local clusters without IRSA. (I assume IRSA is not an option for local clusters; please correct me if I'm wrong.)
While I have lots of use cases for IRSA in EKS, my use cases motivating this request for AWS_PROFILE are local testing, development and bootstrapping.
I would like to use a credential manager (e.g. Leapp, aws-vault?) to obtain short-term creds and refresh them as needed.
When I see the same secret_key / access_key instructions and custom scripts pasted into a half dozen articles and tutorials, I can't help thinking there's a better way that might benefit others.
In kind, you can mount ~/.aws to each worker node (container) and the AWS_SDK (called by the pod) can then use that to assume the role based on AWS_PROFILE.
Originated at https://github.com/crossplane/crossplane/discussions/3246

think we have a few Options:
https://github.com/crossplane-contrib/provider-aws/blob/master/examples/providerconfig/fs.yaml
https://github.com/crossplane-contrib/provider-aws/blob/master/examples/providerconfig/none.yaml
IRSA for local environments: https://blog.amis.com/aws-irsa-for-self-hosted-kubernetes-e045564494af
other Option is IAM Roles Anywhere https://aws.amazon.com/de/blogs/security/extend-aws-iam-roles-to-workloads-outside-of-aws-with-iam-roles-anywhere/ - but never tried it because it's new


Cater for Scala 2.13 and includeScala=false

Fixes #380
The Scala 2.13 distribution does not include scala-xml and a few other jars. If includeScala=false and you need to include scala-xml, the function Assembly.isScalaLibraryFile needs to cater for a reduced set of libraries.

Thanks @bhamjee!


Create access-token

access1

1.2

Hey @ModernPortable, thanks for your efforts, but this repository is being deprecated.
I'm going to go ahead a close this out.
You're more than welcome to continue with a fork!


Protect & unprotect single branch api supported.

First of all, thanks for this amazing project.
Protect & unprotect single branch api supported.
The api was here
https://docs.gitlab.com/ce/api/projects.html#protect-single-branch
and here
https://docs.gitlab.com/ce/api/projects.html#unprotect-single-branch

Thank you for the contribution however we already have coverage for these methods, see here: https://github.com/NARKOZ/gitlab/blob/master/lib/gitlab/client/branches.rb#L34-L60
In the future you should have a look at the CONTRIBUTING.md for tips on how to effectively contribute to this project.
Thanks again!


Fix typo

@changeworld : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @changeworld,
Thank you for your contribution. Your changes have been approved.
Thanks.

#sign-off


X64Call Crash Windows 10

When attempting to manually map in Windows 10, I get a crash when attempting to restore the esp register. Am I the only one? Or has anybody else experienced this?

As a side note, it traces back to either Process::Attach or NativeWow64::CreateRemoteThreadT

Ok, thank you. I'll take a look.

Narowed this down to NativeWow64::CreateRemoteThreadT, x64Call has access violation at             X64_End(), temporary fix is to uncomment the if(_wowBarrier.targetWow64) line in the function and to add a check for targetwow64 in VirtualAllocExT to revert to using Native::VirtualAllocExT

Doing what @Timboy67678 said corrected the issue with CreateRemoteThreadT temporarily like he said, along with fixing VirtualAllocExT, but the same issue appears to occur with VirtualQueryExT and VirtualFreeExT.

@Timboy67678 I am aware of the change to WOW64 calls, but it's not the issue. I do direct code segment switch, so it's unaffected by those changes.
Sadly I can't reproduce the issue on my Win10 test VM, but I think it has something to do with the stack.

@DarthTon My apologies, i briefly glanced over the article. No idea whats causing the stack corruption, so i have reverted to using some of the native functions in wow64subsystem. Works for me at the moment, as i said above, just a temp fix for others having this problem.
And yer, the x86 debugger had problems with processing x64 exception, i might try using windbg to isolate the problem

Ohhhh, timboy is here. How... special

Hi, any news on it?

Rewolf has a fix for AMD CPU at
https://github.com/rwfpl/rewolf-wow64ext

It seems that you guys benefit even from the fixes for my library, yet 0 credits given for the X64Call which is just modified version of my code...


Fix phpunit deprecation

expectExceptionMessageRegExp was deprecated in PHPUnit 8.4, and will be removed in 9.0. Migration seems easy enough...

Ah, I see we support both phpunit 7.2 and 8.5. I guess we have to just sort of live with this for a while?

TBH I'd rather wait with this for #470 and then solve it only for latest compatible phpunit version.

I'd rather wait with this for #470 and then solve it only for latest compatible phpunit version.

Sure, but there's no harm in merging, this, is there? Those warnings are a big distraction, and we can always touch this up if you ever sort out #470

Seemed like a bit of pollution to me but ofc it depends on a roadmap. If @vladar does not plan to drop 7.1 support soon this can be merged I guess.

Thanks much!


Lock up the Callysto hub

Context
The Callysto hub is pretty open right now, so we should find ways to protect it against potential abuse.
We currently have cryptnono deployed on all of our clusters, but we should find ways to improve this protection, esp for hubs like the Callysto one.
Ref: https://github.com/2i2c-org/infrastructure/pull/1649#pullrequestreview-1094607859
Proposal
No response
Updates and actions
No response

This is a good idea, especially to avoid unauthorized cloud usage explosions. That said, the Callysto use case involves their personnel introducing data science and coding ideas to teachers and students in grades 5-12 across Canada. These users tend to not be organized under CIlogon or InCommon authorization layers. Their usage scenario often involves launching students and teachers they've just met into the hub without forming an allow list in advance.

This is going to come up for us in a couple of weeks. We have a series of workshops where various groups of users will be logging and and trying out the service. Right now, it looks like users are being whitelisted, but that might not be practical for those workshops. As far as I know, we have

Nov 18th ~ 20-30 users
Nov 24th ~ 50-60 users
Nov 25th ~ 180-190 users
December 6th ~ 120 users

In all cases, we want to make sure that the hub is ready (the right number of nodes warmed up by 9am) and that users can log in OK. Can you let me know what the best options are for this currently? For warming up hubs, I found this issue, but I'm not sure what the current status is. If it is appropriate, I think we would be comfortable manually triggering the node scale up if needed.

For the upcoming hackathons that @ianabc mentioned in November and December 2022, these will be with specific school divisions, is it possible to whitelist all emails associated with those school divisions instead of leaving the hub open for all to sign up? For example, whitelisting<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>etc

@byrcyb @ianabc if those schools are part of CILogon (you can check via https://technical.edugain.org/entities and https://incommon.org/community-organizations/) we can restrict them to that.
@ianabc re: scale up, what do you feel about us making sure you have rights to trigger the warmup yourself from the cloud console?

@yuvipanda these are K-12 schools in Canada, so for eduGain via the Canadian Access Federation, these schools are only eligible to be service providers and I don't believe any (at least in Alberta) are participating. As well, I don't see any of the Canadian K-12 schools that will be participating in our hackathons on the community organization list either. I guess we won't be able to restrict then?

@byrcyb the other option I can think of is we use auth0's username / password signup, require email verification there (https://auth0.com/docs/manage-users/user-accounts/verify-emails) and then restrict the emails that can sign up. What do you think of that?
However, I think auth0 doesn't have a way to limit data to be stored purely in Canada - it comes across to the US. It will store list of usernames, and when they login (but nothing else). Would this be acceptable?
Also, what happens to these users after the hackathons are over?

Thanks @yuvipanda let me run the idea of using auth0 verification with the teachers on our team and that we're collaborating with, and I'll let you know. I'm currently less worried about the data storage / residency as even the most restrictive province's in Canada (British Columbia) seemed to have relaxed their policies recently.
The after hackathon question is really good. I imagine students and teachers may want to revisit the content a short-time after the event, but not necessarily having the need to. They may want to use more Callysto content from our website but that's currently linked to our other hub.

@ianabc re: scale up, what do you feel about us making sure you have rights to trigger the warmup yourself from the cloud console, at least for now? In the medium term, I'd like this to become a self-service things admins can do.

Yep, that would be ideal. I found some of the plans in #787, but until that, being able to manually control it would work. @chealion do you already have access?

@byrcyb yes, the students would need to create a new login / password for themselves, and verify that via email. So the information auth0 would store would be just their email addresses.
We can possibly unlock it temporarily for the duration of the event, but will need to keep an eye out for crypto miners :(
What would an ideal workflow look like?
In the past, what we have done for workshops elsewhere is to just make the hub have a 'shared' password that is shown to the users. So everyone logs in with their own username, and the same password. The interface looks a bit like workshop.datahub.berkeley.edu. The disadvantage here is that any user can look at any other user's login too, which perhaps could lead to mischief. So that is also an option available

@byrcyb yes, the students would need to create a new login / password for themselves, and verify that via email. So the information auth0 would store would be just their email addresses.

This should be possible, but might be tricky in practice as email permissions for K-12 students will vary by school district, with some not allowing any emails from outside of their own domain.

What would an ideal workflow look like?

An ideal workflow would have the students login to the 2i2c callysto hub with their school email addresses (Google or Microsoft authentication) without having to create accounts via auth0 (or CILogon which isn't an option in this case).
For your reference, a typical in-person hackathon for us is a one day event (9am - 2pm), where in the morning we will introduce the computing environment and Python, and walk through some tutorial exercises together with the students. I imagine if we are to use this auth0 process we can incorporate logging into auth0, creating a new login / password and verifying by email in the morning, before logging into the 2i2c callysto hub. We would also want to explain why we are doing this, which I think I'm a bit a fuzzy on myself. In the afternoon of our hackathons, we let the students loose (individuals or teams) with independent hackathon challenge notebook(s) that we've created. So, we only have the students attention for the one day.

We can possibly unlock it temporarily for the duration of the event, but will need to keep an eye out for crypto miners :(

Right! I guess unlocking doesn't help as we still need to figure out the auth0 / CILogon side of it.

In the past, what we have done for workshops elsewhere is to just make the hub have a 'shared' password that is shown to the users. So everyone logs in with their own username, and the same password. The interface looks a bit like workshop.datahub.berkeley.edu. The disadvantage here is that any user can look at any other user's login too, which perhaps could lead to mischief. So that is also an option available

This can be an option too although, and would simplify things, but I am a bit worried about the mischief side of it. They will be hacking for prizes so I don't know if that will give them less or more incentive to be mischievous 🤔  Would we need to provide a list of the student emails in-advance to be able to use this login approach?

That sounds promising! Yes, the vast majority of school districts are using Google or Microsoft, and sometimes both, for example Microsoft for administrative staff and Google for teachers / students. There's only been a couple of other cases that we've encountered so far that haven't been Google or Microsoft (one was Zimbra).
I'm not sure how restricting by domains works but we may need some flexibility as there seem to be quite a few variations for staff and students within a school, as well as between schools that belong to the same school district (who will be participating at one of our hackathon events) 😅 . Note, we can definitely work with the schools to try to capture all the cases before an event -- how much time in advance of an event would be needed to update and test these restriction lists?

As a side note, folks, I have created an event-dedicated issue here: https://github.com/2i2c-org/infrastructure/issues/1918.
Feel free to continue the conversation about the auth here but when there is an agreement, let's move the discussion to the specific event issue.

@byrcyb I made a PR and this works! You can add additional domains like this: https://github.com/2i2c-org/infrastructure/pull/1919/files#diff-79c32574f785c3cc2a19e21e56257fd9a92aca350b63c65940b9a00699b49f1aR105. That PR allows all of .edu but we'll probably lock that down a little more. Do you have a list of domains to start with?

@yuvipanda we've been chatting about this today, the latest list we have is almost exclusively .ca addresses and one .org. We suspect that pattern is true in general (we're trying to find out now). Given the short timeline to the event and would it be OK to wildcard the *.ca and add a handful of .org domains case-by-case?

@ianabc ok done, I've merged and deployed this, let's see how it works.
@ianabc @byrcyb for updating this, I'd also consider the option of giving you merge rights within the repo to allow self-merges specifically just for adding more domains, so you have autonomy there. How does that sound?

Thank you! It's working for me so far. @byrcyb could you try to find someone from one of the affected school districts to test as well? (i.e. someone who hasn't already logged in)
For the merge permission that would be really useful. The main people would be myself, Michael Jones from Cybera (@Chealion) and @byrcyb.
For a longer term solution Byron, Elmar and I were chatting about some variations on the shared password scheme you mentioned above. I don't want to drag this particular issue out any further, but I think I can see a way to make it work, maybe we can chat about it later on.

I tried it with student accounts from Elk Island Public and Fort McMurray Catholic and both worked perfectly.

@ianabc @byrcyb i've invited you both to a team with merge rights to this repo


Update base layout.njk

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

Project coverage is 73.00%. Comparing base (90bf27a) to head (f8b075f).

Files with missing lines
Patch %
Lines

server/middleware/validationMiddleware.ts
41.89%
42 Missing and 1 partial :warning:

server/app.ts
0.00%
6 Missing :warning:

server/middleware/populateValidationErrors.ts
80.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #90      +/-   ##
==========================================
- Coverage   74.86%   73.00%   -1.86%
==========================================
  Files          49       54       +5
  Lines        1253     1356     +103
  Branches      178      198      +20
==========================================
+ Hits          938      990      +52
- Misses        303      353      +50
- Partials       12       13       +1

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


Fix cuda.DummyDevice inheritance

Related: #7145:

Before this PR, it returned a seemingly invalid device:
>>> chainer.get_device(chainer.backends.cuda.DummyDevice)
<GpuDevice (cupy):-1>

DummyDevice is not a cupy.cuda.Device: this inheritance is not appropriate.

Jenkins, test this please.

Jenkins CI test (for commit de4ee0e134a4e64b82e2c7f2188fba18f47b45f0, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 131f3c8b61fe7c12611072e51acf2a12b9d5904c, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 131f3c8b61fe7c12611072e51acf2a12b9d5904c, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 131f3c8b61fe7c12611072e51acf2a12b9d5904c, target branch master) failed with status FAILURE.

Could you resolve a conflict?

Rebased

Jenkins, test this please.

Jenkins CI test (for commit 9160ce62fc0c09840a9522c92949fc20b6f32454, target branch master) succeeded!


⚠ Bofrost.lu has degraded performance

In 926f7b3, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 900 ms

Resolved: Bofrost.lu performance has improved in 576ebf9 after 9 minutes.


Unmark most of the xfailed tests.

Fixed by PR #5398.

The source of the failures when running all system tests was re-using table names across tests:  apparently, a deleted table now "sticks around" a while, and cannot be re-created without risking timeout / deadline exceeded.  1cbdcda ensures that the tests no longer try to re-created a table (by using unique names).

@theacodes This is the same #5441 / #5442 issue.  I'd like to merge here as well based on the CircleCI green.


Implement generateForwarding for @Model.

Motivation
This has been a debate between me and @bridgekat, regarding whether we should automatically generate easy forwarding getters and setters for the fields. This has been a new issue raised by #5, as that enabled us to generate such redirections. Suppose given the following code:
@Model()
class Todo with _$Todo {
    Todo._();

    factory Todo({required String name}) = _Todo;
}

Without Redirections
mixin _$Todo {
    Atom<String> get name$;
}

Redirections
mixin _$Todo {
    Atom<String> get name$;

    @pragma("vm:prefer-inline")
    String get name => name$.get(null);

    @pragma("vm:prefer-inline")
    set name(String value) => name$.set(value);
}

The benefit of having redirections is that it allows much simpler code when observability is not required:
// without redirection
final name = todo.name$.get(null);
todo.name.set("New Name");

// with redirection
final name = todo.name;
todo.name = "New Name";

However, since the Observer of the get method, despite being nullable, is required, it would remind the user to subscribe to an observer whenever possible. This would potentially reduce the amount of developer errors in the frontend.
Solution
Add a boolean flag called generateForwarding to the code generator. By default, this flag is set to false. You can turn it on if you want more convenience.

The field has been added to code in the branch, but nothing has been implemented yet.

Maybe we should remove this field and only generate the convenience setters.


20 fungible token vote

Adding :
Cast Vote : To spend voting power on a proposal
CRUD Proposal : To manage proposal
Delegate : To Delegate our voting power
Storing datas :
VotingData : Related to Voting Data proposal ,
Data : Related to Data proposal,
VotingDataProposalIDAddrSpender* : Related to voting Data user on proposal
proposal : Related to all proposals created by the addr

There is package.json push to correct the bug we find on asprettier windows stuff

Currently creating some units tests but we can review the architecture  and the choice made

fix #29

this will be done in https://github.com/massalabs/massa-sc-contracts/pull/12


Create mytest.py

good

You should create new API keys. This is a public repository anyone can see those keys you tried to commit.

yeah I noticed that right after. thanks for the heads up though.


EMR run_job_flow does not retain cluster info when used with boto3

The simplest way to reproduce the issue is to add the following line to one of the existing tests, test_emr/test_emr_boto3.py:test_list_clusters:
@mock_emr
def test_list_clusters():
    client = boto3.client('emr', region_name='us-east-1')
    client.run_job_flow(
        Name='cluster',
        Instances={
            'MasterInstanceType': 'c3.xlarge',
            'SlaveInstanceType': 'c3.xlarge',
            'InstanceCount': 3,
            'Placement': {'AvailabilityZone': 'us-east-1a'},
            'KeepJobFlowAliveWhenNoSteps': True,
        },
        VisibleToAllUsers=True,
    )
    summary = client.list_clusters()
    clusters = summary['Clusters']
    clusters.should.have.length_of(1)
    cluster = clusters[0]
    cluster['NormalizedInstanceHours'].should.equal(0)
    cluster['Status']['State'].should.equal("RUNNING")
    cluster['Name'].should.equal('cluster')  # this line does not exist in the existing test

If mocked correctly, the last assert should be true, and the boto version of the tests pass this fine. However, with boto3, the backend has its cluster.name attribute set to None, and the above test fails.
This appears to be caused by the request body being JSON, but moto.core.responses.BaseResponse.setup_class does not parse request.body into querystring when the body is in JSON.
I've tried patching moto.core.responses.BaseResponse.setup_class so that request.body gets parsed into querystring, e.g.,
    def setup_class(self, request, full_url, headers):
        querystring = {}
        if hasattr(request, 'body'):
            # Boto
            self.body = request.body
            if 'json' in request.headers.get('content-type', []):
                jd = json.loads(self.body)
                for key, value in jd.items():
                    querystring[key] = [value]
        ...

and this appears to make the boto3 EMR tests pass, but it breaks boto version. Apparently, I'm doing the patching in a wrong place...
Our code base is mostly in boto3 so I'd be happy to create PRs to check in fixes for use with boto3, but I would like to get some guidance as to where I should patch things like this.

Upon further experimentation, it appears patching moto.core.responses.BaseResponse.setup_class as follows works without failing existing tests for both boto and boto3:
class BaseResponse(_TemplateEnvironmentMixin):

    ...

    def setup_class(self, request, full_url, headers):
        querystring = {}
        if hasattr(request, 'body'):
            # Boto
            self.body = request.body

        else:
            # Flask server

            # FIXME: At least in Flask==0.10.1, request.data is an empty string
            # and the information we want is in request.form. Keeping self.body
            # definition for back-compatibility
            self.body = request.data

            querystring = {}
            for key, value in request.form.items():
                querystring[key] = [value, ]

        if not querystring:
            querystring.update(parse_qs(urlparse(full_url).query, keep_blank_values=True))
        if not querystring:
            if 'json' in request.headers.get('content-type', []):
                if isinstance(self.body, six.binary_type):
                    jd = json.loads(self.body.decode('utf-8'))
                else:
                    jd = json.loads(self.body)
                for key, value in jd.items():
                    querystring[key] = [value]
            else:
                querystring.update(parse_qs(self.body, keep_blank_values=True))
        if not querystring:
            querystring.update(headers)

While tests appear to pass fine, I'm not exactly sure of the implication to what is not covered by the tests, and I am also not sure if doing querystring[key] = [value] is robust when the JSON contains nested structure (which boto3 often relies on).
Am I in a right direction, or is there a more sensible way?

It looks like when a request body is JSON, it needs to be transformed into a form where nested keys, e.g.,
{'Instances': {'SlaveInstanceType': 'm1.small', 'InstanceCount': '1'}}

are flattened as in
{'Instances.SlaveInstanceType': ['m1.small'],
 'Instances.InstanceCount': ['1']}

and arrays also need to be flattened as in
{'Steps': [
  {'Name': 'example1', 'ActionOnFailure': 'TERMINATE_JOB_FLOW', 'HadoopJarStep': {'Jar': 'streaming1.jar'}},
  {'Name': 'example2', 'ActionOnFailure': 'TERMINATE_JOB_FLOW', 'HadoopJarStep': {'Jar': 'streaming2.jar'}},
]}

to
{
  'Steps.member.1.Name': ['example1'],
  'Steps.member.1.ActionOnFailure': ['TERMINATE_JOB_FLOW'],
  'Steps.member.1.HadoopJarStep.Jar': ['streaming1.jar'],
  'Steps.member.2.Name': ['example2'],
  'Steps.member.2.ActionOnFailure': ['TERMINATE_JOB_FLOW'],
  'Steps.member.2.HadoopJarStep.Jar': ['streaming2.jar'],
}


using the GetListing  Error

When using FTP When using the GetListing method to obtain a file list, garbled characters may appear when the file title contains Chinese characters
After testing using FTP in the. net8 environment When using the GetListing method to obtain a file list, garbled characters may appear when the file title contains Chinese characters
As shown in the figure

Using FTP with. netFramework4.8 When using the GetListing method to obtain a file list, the file title with Chinese characters is displayed normally
As shown in the figure

Client Encoding=Encoding Default; Or client Encoding=Encoding UTF8; In. Under NET 8.0, Chinese characters are all garbled

https://github.com/robinrodricks/FluentFTP/wiki/File-Transfer#how-can-i-uploaddownload-files-with-unicode-filenames-when-my-server-does-not-support-utf8


Conflicts with Windows Defender

When using compiled extension on windows, Antimalware Service Executable (I think it's windows defender) uses maximum CPU resources. Insane CPU usage only appears when characters are deleted or added in VSCode.
Same happens on newest Insiders build.
All autosaving, autobuilding features are disabled.

update: One year later issue still exists on master branch and in vscode marketplace extension.
Maybe someone can help with debugging this?

This issue makes the extension unusable on Windows. It would be nice to get this fixed.
After searching through the commits, I believe this issue must have started with 6744cfbf5d8368508541772a9d8d5315ea1fa90c or fb9df874b04fb13fe278dc0b8702875662ea641c. Note that I couldn't get fb9df874b04fb13fe278dc0b8702875662ea641c to build. The previous commit, 1b6eacb7855d83e1b43bef80c1b23a89c6a5f3a9, does not have this issue.


Newest shouldn't have all facts stuck to it

Maybe this feature should be renamed to current_state or something as well?

:shoe:

sounds good :+1:
confused me a bit at first glance though, latest 1 ~> let fold...  =)


fix: adapters isssue & add unit-tests

fix: remove content-type when body is nil
no need to send request when signal aborted
fix add download-progress event
remove useless try-catch
test: add unit-tests of helpers & AbortController

release


Field Arrays' delete on index removes also later elements

Describe the bug
When attempting to remove a field from a field array at index i using unsetField('fieldArray${index}'), all members of that array from i to end get removed.
I tried to use alternative ways to remove single entries (e.g. slicing and combining arrays), but same issue re-occurs. However, when replicating similar form without felte using a local variable as 'store', it works as expected.
To Reproduce
Steps to reproduce the behavior:

Grab code from https://felte.dev/docs/svelte/field-arrays
Create multiple new interest items
Attempt to remove some of the first items
All items after that get removed

Expected behavior
Only the selected item should disappear.
Screenshots
By reactively logging interests -variable  ($: console.log(interests)), it is shown that elemets are removed one-by-one from the array after calling remove function:

Environment (please complete the following information):

OS: MacOS
Browser: Chrome, Safari
Versions<EMAIL_ADDRESS><EMAIL_ADDRESS>SvelteKit v1.0.0-next.297, Svelte 3.46.4

Other stuff
I'm quite new with svelte, so this can be user error of sort.

Thanks for the report! This seems to be an issue on my side. But it works if you remove the (interest.key) part.
<script>
  import { createForm } from 'felte';

  const { form, data, addField, unsetField } = createForm({
    initialValues: {
      interests: [{ value: '' }],
    },
  });

  $: interests = $data.interests;

  function removeInterest(index) {
    return () => unsetField(`interests.${index}`);
  }

  function addInterest(index) {
    return () => addField(`interests`, { value: '' }, index);
  }
</script>

<form use:form>
  {#each interests as interest, index}
    <div>
      <input name="interests.{index}.value" />
      <button type="button" on:click="{addInterest(index + 1)}">
        Add Interest
      </button>
      <button type="button" on:click="{removeInterest(index)}">
        Remove Interest
      </button>
    </div>
  {/each}
</form>

I'll update the documentation for now but will leave this open to check why adding a key breaks this.

As a further update. I'm not sure how I did not catch this before but: If you want to key your items (using interest.key like the example), add the attribute data-felte-keep-on-remove to the<input> element.
I'm not quite sure how this did not cause any conflicts before. But that'd be the recommendation for now. Key your items + add the attribute to any input within your each.

Did someone find another solution ?
I tried to use key + data-felte-keep-on-remove in a fieldset inside the loop but I have the same problem as @Alphenus .
@pablo-abc

What I mean is that : I use key and data-felte-keep-on-remove and I try to set the data programmatically.
Only one line is setted if I use $data = ... or setData.
Here is the result with a $: console.log($data.items); :

If I use setInitialValues with reset I've got an error because step by step the items becomes undefined.

I have a similar problem where upon removing a field via unsetField a completely different array field loses all of its data. I've tried about 100 different ways to work around it, but it seems to be hellbent on wiping the data from another array. This happens to be an array of selects. I wonder if that has anything to do with it.

I have a similar problem where upon removing a field via unsetField a completely different array field loses all of its data. I've tried about 100 different ways to work around it, but it seems to be hellbent on wiping the data from another array. This happens to be an array of selects. I wonder if that has anything to do with it.

I am seeing this as well, it isn't always consistent either. In my case I have an array of items which have sub-values. For example in my testing just now I had
Before Delete
"step1": {
"item_fczxfm0p": {
"fldOvLgT8NrE7ZEOT": "1",
"fldcVoNTkahMLtrJR": "",
"fldp3O05kE14AC0Kn": ""
 },
"item_0y8l9ofczxfm": {
"fldOvLgT8NrE7ZEOT": "2",
"fldcVoNTkahMLtrJR": "",
"fldp3O05kE14AC0Kn": ""
 },
"item_gmjsl7keutr": {
"fldOvLgT8NrE7ZEOT": "3",
"fldcVoNTkahMLtrJR": "",
"fldp3O05kE14AC0Kn": ""
 }
 }

After
"step1": {
"item_0y8l9ofczxfm": {
"fldOvLgT8NrE7ZEOT": "2",
"fldcVoNTkahMLtrJR": "",
"fldp3O05kE14AC0Kn": ""
 },
"item_gmjsl7keutr": {
"fldOvLgT8NrE7ZEOT": "3"
 }
 }

I only deleted the first item but fields in the third item disappeared

On continued investigation I found the following. I am dynamically generating the HTML elements, so clicking add item adds a new object to the step1 array of HTML elements to be generated.
The problem goes away when I use delete to remove the object from HTML array vs using array.splice, this creates a new problem though because I now have an object with bogus lengths since there are empty elements.
At this point I think I am going to have to work around this scenario since the reactivity with felte appears broken for this use case

I had the same problem #230 but I didn't find a solution. Any news @ChrisOgden ?

Yeah this issue is a bit inconvenient as it prevents you from using animate:flip


Problem with Reliable Actors design pattern: distributed computation article

Hi,
There seems to be an inconsistency in the Reliable Actors design pattern: distributed computation article. The graphic and text is stating that the Aggregator should be stateless and have multiple concurrent instances but the code tells a different story.
Since the Aggregator inherits from "Actor of (AggregatorState)", it is statefull. Now, since it is always created by PooledTask with an Id of 0, there will always be only one instance.

@DesrosiersC Thank you for raising this issue.  Do you have the link to this article?

@deneha Here it is:
https://github.com/Azure/azure-content/blob/master/articles/service-fabric/service-fabric-reliable-actors-pattern-distributed-computation.md

@DesrosiersC Thanks!  I'll contact a member of our team to review your question.
@jessebenson Could you please assist?

Thanks for reporting this issue. There is a small inconsistency in the code snippet. Instead of using the same Id, aggregator should be created using a unique ID:
var agg = ActorProxy.Create(ActorId.NewId());

Just trying to understand here. If every Aggregator is created wit a different ID, doesn't that mean that each task will end up creating it's own Aggregator ? If that's the case, they won't aggregate much...
This is not what is illustrated in the graphic.

Hi guys, I was looking for a way to comment on the distributed-computation article and I found this thread. I'm glad I'm not the only one having some problems getting my head around the sample code.
one of the first questions I have is what is the significants of this call,
'var task = ActorProxy.Create(0);'
does the id 0 do anything special? or is it simply pointing to the same instance of a PooledTask actor (with id 0) and calling it's 'CalculateAsync' method multiple times in parallel.
This actually raises another question, because I understood the Turn-based concurrency prevented such parallel calls and would queue the calls and process them in a single threaded fashion.. which would clearly defeat the whole purpose so I must be missing something.
If I assume 'var task = ActorProxy.Create(0);' actually gives you multiple actors(when called multiple times) then I end up with the same question DesrosiersC recently posed; if each PooledTask actor creates an Aggregator with a different Id how is the aggregation actually taking place?

My understanding is that it depends on whether the actor is statefull or stateless. If it is stateless, you'll have multiple instances even if you use Id 0 for each call.
It still doesn't answer my first question: is the aggregator statefull or not ? And if it is statefull, how does the sample actually work ?
I guess @jessebenson would be the best to answer us but I do get it that he must be busy.

I've updated the article to match the image.  The code should be creating 'taskCount' unique stateless IPooledTask actors, which each attempt to calculate Pi.  These pooled actors should send their results to a smaller number of stateful IAggregator actors, which accumulate the result and save it.  The aggregator actors send the final results to the single IFinaliser actor that accumulates the final estimate and displays it.  In the code snippet, the aggregator starts a 5-second repeating Timer to fire "ProcessAsync" to send new estimates to the finaliser (if it has any new estimates - see its "_pending" field).

Thanks @jessebenson, I really appreciate that you took the time to take a look. Hope it will help others like me to understand better that wonderful new platform.

For both stateless and stateful actors, the ActorId is the way to get a reference to an actor instance.  So the Id 0 will refer to the same actor instance for both stateless and stateful.

@jessebenson thanks for the precision.
The following phrase in the article was confusing to me:
We are using stateless actors for two main reasons: the runtime will decide how many aggregators are needed dynamically, therefore giving us scale on demand; and it will instantiate these actors “locally” – in other words in the same silo of the calling actor, reducing network hops.
I thought that when using stateless actors, the notion of instance was much more flexible and that the runtime would create some locally on demand.

@clca - can you help clarify the comment about instantiating actors "locally"?

Thanks for updating the article makes a lot more sense now


VirtualAlloc

VirtualAlloc is not a heap. It is a page allocator. Pages are rather large, often 4KB. VirtualAlloc cannot be used to allocate part of a page. As such you're wasting space for small allocations by allocating entire pages, and you're also not optimizing for the case where the alignment is less than the size of a page so you can just allocate some pages and assume they have the correct alignment.

As such you're wasting space for small allocations by allocating entire pages

Yep, but that's kind of the use case I had in mind: Large allocations with large alignment requirements (as in, many pages each).
I could just use HeapAlloc, but I don't know of a way to free all excess memory: HeapReAlloc isn't able to free, say, the first few bytes of an allocation (moving the allocation upwards to an aligned address), it can only free the "tail" by making the allocation smaller, so it still wastes a fair bit of memory in bad cases. An allocation aligned to X bytes will waste up to X-1 bytes - since I'm using this to allocate memory aligned to up to 1 MB, this is unacceptable.
That said, perhaps a good solution would be to use VirtualAlloc for requests that are at least a page in size (or have size plus alignment larger than the page size), and HeapAlloc for everything smaller (the memory wasted by using it should be less than the memory wasted by allocating a whole page, if the threshold is good).

you're also not optimizing for the case where the alignment is less than the size of a page

Right. This fix is simpler, so I might do that later.
Thanks for the report!

Feel free to look at the way I wrote aligned allocations in Rust's system allocator which uses HeapAlloc.
https://github.com/rust-lang/rust/blob/master/src/liballoc_system/lib.rs#L143-L232


Add debug endpoints to Citadel agent

Describe the feature request
The current node agent does not expose information on its active connections with proxies (it includes count metrics, but nothing more specific), and the secret configuration it is providing. This feature request calls for the addition of debug endpoints which expose this information.
Describe alternatives you've considered
Not exposing this information at all.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[X] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context
Ties in with this PR, which once merged, will expose SDS configuration on the envoy side. These two features together will let us find discrepancies between the two configurations.

When running in gateway agent mode, Citadel agent watches k8s API server for ingress gateway secrets. It would be nice if this debug endpoint could list all added k8s secrets with added time and cert expire time, and keep updating the list.
We could also add/update SDS integration test to cover the debug endpoint.


Feature: Allow inheritance

I currently have a use case where I created an abstract builder which receives a bunch of type parameters and the idea is that it would be possible to inherit from that builder and specify some of those type parameters. This would allow to have a generic implementation of a builder and a few ones which are very specific to their use case and project:
// no FluentApi
public abstract class GenericBuilder<T>
{
  [FluentMember]
  public T Content { get; set; }
}

[FluentApi]
public class ConcreteBuilder : GenericBuilder<int>

var builder = CreateConcreteBuilder.WithContent(1);

Thank you for your request! Inheritance is the next feature I would like to look into.
Best regards,
Kevin

Hi @m31coding
What is the best practice to deal with the situation when the inherited type has less parameters in the constructor and provides some predefined values to the base type?
Simplified example:
[FluentApi]
public abstract record Creature(
    [property: FluentMember(0)] string PlanetName,
    [property: FluentMember(1)] string FirstName,
    [property: FluentMember(2)] string LastName);

[FluentApi]
public sealed record Martian(
    string FirstName,
    string LastName)
    : Creature(
        "Mars",
        FirstName,
        LastName);

the following doesn't work:
CreateMartian
    .WithFirstName("Hans")
    .WithLastName("Martian");

In this simple example I could add FluentSkippable to the PlanetName argument - but this get's kinda complicated if you have lots of such parameters with multiple types inheriting from the same base class.
You might end up adding the skippable attribute to all parameters...

Hi @Sam13,
That is a very good question and I currently don't have a good answer to this use case. Constructors are not taken into account by the Fluent API (they are merely used to instantiate the object with default values). Hence, the gist of the question is 'How to provide predefined values to the base class'? Unfortunately, I assume new syntax / a new feature is required to make this work.
I'll look into this further, and in the meantime, if you have any ideas or suggestions, please let me know!
Best regards,
Kevin


Error handling for offline tutorials and getting started

Fixes https://github.com/Microsoft/pxt-adafruit/issues/242
Fixes https://github.com/Microsoft/pxt-adafruit/issues/241
Also adds a temporary fix for https://github.com/Microsoft/pxt-adafruit/issues/233

Merging for the upcoming bugbash


No longer any need to decode json (at least in some functions)

It looks like _retrieve_data is now returning the decoded json object instead of a string (at least for some API methods). One example is item_types(). i.e., calling Zotero.item_types() throws an exception because you're trying to json decode something that's already been decoded. Perhaps the response content-type has changed for these items, or perhaps you changed _retrieve_data to automatically decode json responses, but forgot to update the methods that call it?

Hmm. I'll have a look.


PFP0020

For tomorrow.

Yeah alongside the episode. I think it's best to get it all out at the same time.


Make sure we can persist the account status from Redmine

Redmine has these user statuses

Active (I think this just means email verified)
Registered (I think this just means email not verified)
locked

We have verified and not verified, but I don't think we have locked accounts yet. I'm fine if we don't support that explicitly in the UI, but we need it in the database so we don't lose that data.
We'll probably go through the data after we import it and maybe remove any old account that hasn't verified email yet. There's 15k accounts that haven't verified their email yet, they're probably from spam so we could delete them if they're old.

This has been implemented in a436f83a


findOne by ObjectId does not work

I have this code
const id = ctx.params.id;
const person = await people.findOne({
  _id: id
});

id is an ObjectId as string. I want to receive the person with the ObjectId provided, but this code returns undefined.
Other things I've tried:
const person = await people.findOne({
  _id: {
    $oid: id
  }
});

Using
Deno: 1.5.4
deno_mongo: 0.20.0

This will likely be because your are matching a string rather than a ObjectID.
Node has a bson library that has a conversation https://github.com/mongodb/js-bson/blob/master/src/objectid.ts
Could implement then using deno standard library but it would be nice to have bson in the standard libary

It will be matching on a string rather than an object Id, you should be about to use the bson export to convert the string into an objectID.

I was also thinking, but Bson isn't exported from mod.ts so I don't have access to it.

It will be matching on a string rather than an object Id, you should be about to use the bson export to convert the string into an objectID.

If you want to use the ObjectId, you can use like that:
import { ObjectId } from<EMAIL_ADDRESS>
const id = new ObjectId(ctx.params.id);
const person = await people.findOne({
  _id: id
});

Right this worked. Thanks!
Maybe it would be a good idea to include ObjectId as an export of the main mod.ts, but I don't know what convention this lib is using.


[projects] Available quantity on project pages should be more precise

Describe the bug
Some projects (e.g. https://www.carbonmark.com/projects/VCS-1190-2017) show an available quantity of zero, but also show the "BUY" and "RETIRE NOW" buttons. This doesn't make sense.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.carbonmark.com/projects/VCS-1190-2017
Observe 0 quantity with buy and retire options still visible
Click on "RETIRE NOW"
Observe 0 quantity in retirement form

Expected behavior
The small available amounts are displayed correctly so that users can enter sensible amounts.
Screenshots

@sprrwhwk this will be fixed by #1035


setNavBarColor & askForPermissions

setNavBarColor(Color.parseColor("#3F51B5"));
This is from your example and it gives me an error:

java.lang.string cannot be applied to int

Also, those 2 methods do nothing:

    askForPermissions(new String[]{Manifest.permission.INTERNET}, 2);

    askForPermissions(new String[]{Manifest.permission.ACCESS_NETWORK_STATE}, 2);

I've got 3 slides and the permissions are declared in my Manifest. I tried removing them from there but then my app doesn't work because the permissions weren't granted.
I'm running CyanogenMod 13 on Moto G xt1032
I am also running Android Studio 2 Beta 5 with Gradle 2.0.0-beta5
Thanks!

setNavBarColor() requires a String to be passed to it. Color.parseColor returns an int, not a String. Simply pass your color hex to the library method in String format, and the library will utilize Color.parseColor. Check the source code of the method for more info.
Regarding your permissions issues, please provide your manifest file and the intro activity code (the whole file).

Closing issue until the above requests are met.

Sorry for taking the time to respond. I got the setNavBarColor() method running the way you told me to use it, however, in the sample code here it's not explained clearly as I already said.
About the permissions, it's my mistake, I was talking about the INTERNET and INTERNET_ACCESS permissions which I found out you don't need to ask permission for in Marshmallow. Thank you.


Added Proxy for all Operations' state_forwards in ProjectState

ticket-29898

Thank You @charettes for the feedback.

In other words, operation: Operation instances should not be passed to the methods added on ProjectState otherwise you introduce bi-directional coupling between them.

This didn't strike my mind during the initial commit. I have made the necessary changes which are as follows:

I have passed the required parameters as arguments to the function in spite of the Operation instances.
I have merged alter_model_options.

@charettes I have committed the desired changes. Also, I have merged the django.db.migrations.operations.utils  with django.db.migrations.utils.
To be honest, my sincere apologies for some newbie mistakes. I will definitely try to minimize them as much as I can :)

Also, I was thinking to change double inverted commas with the single inverted commas in all 4 files. I want to ask whether I should change them for the changes committed by me or for the whole file?

Is there any need to write any new test? Also, Is there any documentation change required?

Also, Is there any documentation change required?

@manav014 Maybe we should clarify sth in the "Migration Operations -> Writing your own" :thinking:. Also, I merged moving django.db.migrations.operations.utils to django.db.migrations.utils in d718d99017b83987fe994fab968d6c3039f352b2 and rebased this PR.

The changes are indirectly tested through existing operations tests but this paves the way for direct testing of state alterations which will come handy when implementing the new registry.

@charettes I would be great to add direct tests. Do you have any specific scenarios in mind?

Maybe we should clarify sth in the "Migration Operations -> Writing your own" 🤔.

@felixxm I didn't find anything to clarify in "Migration Operations -> Writing your own". It would be great if you may specify what kind of clarification we are talking about.

While working on the central repository, I realized that using project_state.related_fields_registry[app_label, model_name]:[(from_field,app_label,model_name,to_field),...] kind of structure would make the central mapping or registry more bulky.
So I just came up with a solution. I would like to propose a new class for the same, in order to make it less bulky to store relations.
it would be something like this:
    class RelationValue:
        def __init__(self, from_field, to_app_label, to_model_name, to_field):
            self.from_field = from_field
            self.to_app_label = to_app_label
            self.to_model_name = to_model_name
            self.to_field = to_field
        #Methods
        def get_all_relations_by_model_name(self):
            # Something
            pass

The above mentioned class definition can be used in the central mapping or registry as follows:
project_state.related_fields_registry[app_label, model_name]:[(RelationValue instance 1), (RelationValue instance 2),...]

Maybe we should clarify sth in the "Migration Operations -> Writing your own" thinking.

@felixxm I didn't find anything to clarify in "Migration Operations -> Writing your own". It would be great if you may specify what kind of clarification we are talking about.

Agreed, there is probably nothing to clarify at the moment.

@manav014 I would like to limit this PR only to the proxy methods (i.e. chop the last three commits). If you're fine it, I will pushed final edits and merge these changes.

@felixxm Sure, I will create a separate PR for further changes. You may merge this PR with changes to proxy methods.

Hey, @felixxm I have chopped the last 3 commits. There are some conflicts in the imports of both the conflicting files. So I am not sure what to do with these. I know you will have a solution for the same.
Also, Please merge this PR so that I may create a new branch for further modifications.

Merged in 503ee41497f346de27843a4ea976c57303c76558.


how to understand “dropping all structural information”

Hi,
I'm trying to study GAT, and awesome works!
I'm wondering how to understand "without ... depending on knowing the graph structure upfront", and "dropping all structural information".
I also see "we only compute eij for nodes i belongs Ni, where Ni is some neighborhood of node i in the graph" in the paper, i also see function adj_to_bias() in the code which requires to know the adjacent matrix (the edges).
So my understanding is that we do need to know the graph structure (edge information) at the beginning, thanks.

Hi Guo,
Thank you for the issue, and your kind interest in GAT!
The phrase "without depending on the graph structure upfront" refers to the training/testing routine. Namely, GAT is an inductive method---the mechanism it learns is in principle not conditioned on the graph it has been trained on. This means that, at test time, you can apply GAT to any structure you'd like (including ones unseen at training time). This is in stark contrast to many methods that were published before (which were transductive, and wouldn't in theory work outside of the graph they were trained on).
Regarding the second phrase, I believe you've misread the paper a little bit. From what I recall, the phrase appears here:
"In its most general formulation, the model allows every node to attend on every other node, dropping all structural information"
This is the formulation before masked attention is introduced (i.e. we just do all-pairs self-attention as in the Transformer paper). Indeed, in this version the graph is not used at all. Afterwards we introduce the neighbourhoods, and the graph structure is injected.
So, to confirm, the GAT model does not drop all structural information. It uses the local adjacency information of every node to determine which other nodes to attend over. That being said, it only needs the local information (i.e. a node does not need to know anything about a node that is outside of its neighbourhood).
Hope that helps! Let me know more clarification is needed.
Thanks,
Petar

thanks Petar!
btw, how does GAT consider about edge with an arrow.  My understanding is that it depends on the definition of 'neighborhood', it means that alpha of one direction is learned/calculated, while alpha of the other direction is just zero.

Hi Yejun,
The general answer is "it's up to you". :)
In the simplest case, the attention is simply not computed over one direction. Other authors like to include a notion of two "edge types" (inbound/outbound) and learn a separate set of attention heads for each edge type. I'd say -- it really depends on the problem you're trying to solve (and how expressive the edges actually are semantically), but ultimately the framework is quite flexible with respect to how you choose to approach this.
Thanks,
Petar


Use the cloud-prepare AWS client interface

Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

/cc @tpantelis


Query Regarding Stable Branch for Production Use

Hello Knox Team,
I hope this message finds you well. I am planning to use Knox in a production environment and I understand that there have been some recent updates and fixes that might not yet be reflected in the latest release available on PyPI.
Given the importance of stability and security for production environments, I would like to inquire about the following:

Stable Branch: Could you please confirm which branch of the Knox repository is considered stable and safe for production use?

Recommended Practices: If there are any specific commits or tags that you recommend for a stable production environment, please let me know. Additionally, if there are particular precautions or additional steps I should take when using the code directly from GitHub, I would greatly appreciate your guidance.

I understand the challenges involved in maintaining open-source projects, and I want to express my gratitude for your work on Knox.

This project being community driven and with a small amount of contributors, stability cannot be guaranteed and using this in production comes at your own risk.
That being said, we release to pypi from tags and those tags are stamped on master… This means that using master should be considered « stable » in the sense that we merged code there we believed would work.
There is no extensive testing (the unit test suite is quite minimal) or QA being done on this repository AFAIK.


Use Real- and Fake- WordToVec instead of ifs

Reconcile eidos.conf values and defaults in EidosSystem.  Prepare to document in readme.

what happens if you try to use a fakeW2V?

It just returns 0 for similarity and Seq.empty for similarities without ever instantiating a real w2v which doesn't like being empty.  Functionality shouldn't have changed.

FWIW it's a null object pattern.


chore: code changes of private end point support

Signed-off-by: Nitish Kulkarni<EMAIL_ADDRESS>


PR: Pep8 Auto Correct

https://github.com/spyder-ide/spyder/issues/13417

Description of Changes

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

Hi @aznpooface thanks for the contribution! Could be possible for you to rebase your work over our 4.x branch (to add it to the next release - Spyder 4.2.0)? you can do this by running from the local clone of your fork the following:
git checkout 4.x
git checkout patch-1
git rebase --onto 4.x master patch-1
git push -f origin patch-1

Let us know if that's possible of if you prefer to let this change to only be available for Spyder 5
Thanks again :)

I’m very new to programming, I don’t think I’ll be good to rely on for these things
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Daniel Althviz Moré<EMAIL_ADDRESS>Sent: Thursday, July 30, 2020 10:56:48 AM
To: spyder-ide/spyder<EMAIL_ADDRESS>Cc: aznpooface<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [spyder-ide/spyder] PR: Pep8 Auto Correct (#13419)
Hi @aznpoofacehttps://github.com/aznpooface thanks for the contribution! Could be possible for you to rebase your work over our 4.x branch (to add it to the next release - Spyder 4.2.0)? you can do this by running from the local clone of your fork the following:
git checkout 4.x
git checkout patch-1
git rebase --onto 4.x master patch-1
git push -f origin patch-1
Let us know if that's possible of if you prefer to let this change to only be available for Spyder 5
Thanks again :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/spyder-ide/spyder/pull/13419#issuecomment-666425793, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQJ373EERPECWUHYPUIKQTDR6GC3BANCNFSM4PL7RKDA.

@dalthviz, please help @aznpooface to move this PR's branch to our 4.x one so we can merge it.

Done @ccordoba12