Add an interface to allow to query an Enola instance

Enola allows to collect data from multiple sources (via its connectors) with full knowledge of the relationship between every entity (via the model). This is a super valuable set of data and we should make it easy to query.
Hence Enola should expose an API to query not only its model but also the entities.

Not sure what get is intended to cover, might already do this. I am thinking of a full query language to retrieve this information. As Enola can be seen as a database.

I would like to first implement #171 and then after that better understand and define what's missing (if anything).

@gabrielh with #171 now implemented (try it out!), I don't think anything else is needed here. Do you agree? Close this?


context type router is invalid

Hi all!
I have problem with router and PropTypes, using TypeScript
warning.js:33 Warning: Failed context type: Header: context type `router` is invalid; it must be a function, usually from the `prop-types` package, but received `undefined`.
    in Header
    in div
    in Router
    in Provider

I was trying resolve problem self, but I dont find solution. Solved only missing imports , router is not contains in this.context, etc.
Header component code:
import * as React from 'react';
import PropTypes from 'prop-types';
import {NavLink} from 'react-router-dom';
import * as style from './style.css';
const classNames = require('classnames');

export namespace Header {
  export interface Props {
  }
  export interface Context{
    router: any
  }
}

export class Header extends React.Component {
  headerClassName = classNames({
    'header':true,
    'current-page-is-root': this.context.router.getCurrentPathname()
  });

  static contextTypes: Header.Context = {
    router: PropTypes.router
  };

  constructor(props?: Header.Props, context?: any) {
    super(props, context);
  }

  render() {
    return (

MOBA

          <NavLink className={style.routerLink} exact={true} activeClassName={style.routerLinkActive} to="/">game</NavLink>
          <NavLink className={style.routerLink} activeClassName={style.routerLinkActive} to="/settings">settings</NavLink>

    );
  }
}

Im sorry if I wrote issue which is not related with react-router

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux where there are a lot more people ready to help you out. Thanks!

Sorry, I wrote it at morning and my mind was sleepy:)
Just If anyone will have that problem , solution:
import PropTypes from 'prop-types';
...
yourClass
...
static contextTypes = {
  router: PropTypes.object
};


angular change detection not working on value changed in firebase storage 'state_changed' callback

Version info

Angular: ^2.1.0
Firebase: ^3.6.1
AngularFire: ^2.0.0-beta.6
Other (e.g. Ionic/Cordova, Node, browser, operating system):
Chrome / Windows 8.1
How to reproduce these conditions
Angular does not catch the variable value change in the firebase storage 'state_changed' callback
constructor(@Inject(FirebaseApp) firebaseApp: any) {
  this._firebase = firebaseApp;
  this.percentage = 0;
}

uploadingFile(e) {
  let file = e.target.files[0];
  let storageRef = this._firebase.storage().ref('imageNodeOnFirebaseStorage/'+file.name);
  let fileUploading =  storageRef.put(file);

 fileUploading.on('state_changed',
      function progress(snapshot) {
        this.percentage = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
        console.log(this.percentage);  // output the right value in console, but the value NOT been updated in the view
      },

      function error() {

      },

      function complete() {

      }
    );
}

The view
<md-progress-circle mode="determinate" [value]="percentage"></md-progress-circle>
Failing test unit, Plunkr, or JSFiddle demonstrating the problem

Steps to set up and reproduce

Sample data and security rules
N/A
<-- include/attach/link to some json sample data (or provide credentials to a sanitized, test Firebase project) -->
Debug output
** Errors in the JavaScript console **
N/A
** Output from firebase.database().enableLogging(true); **
N/A
** Screenshots **
N/A
Expected behavior
The value of the variable 'percentage' should be updated
Actual behavior
The value never gets update on the view

Hello @johnqiuwan. Thank you so much for following the issue template! This is a general Firebase question and it doesn't belong to AngularFire2. This repo is dedicated to troubleshooting library issues. I recommend creating a stackoverflow post.
That being said, Zones and Firebase libraries have not always been best friends. Try manually running the zone inside of the state_changed callback and see if that helps. https://angular.io/docs/ts/latest/api/core/index/NgZone-class.html


Fix windows bazel build

Can one of the admins verify this patch?

Jenkins, test this please

Testing Bazel build at http://ci.tensorflow.org/job/tensorflow-pr-win-bazel/33/console

Jenkins, test this please

Thanks for fixing this,
I sent a fix to boringssl https://boringssl-review.googlesource.com/c/18544/

d09304f introduced a dependency on
@boringssl//:crypto from grpc, this change makes boringssl build on Windows with Bazel

@tensorflow-jenkins test this please

Since only failure is Linux related, merging.


bug report: installation problem using "curl"

I tried to install stn using :
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/d1onys1us/stn/releases/latest/download/stn-installer.sh | sh
output:
~$ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/d1onys1us/stn/releases/latest/download/stn-installer.sh | sh
downloading stn 0.1.39 x86_64-unknown-linux-gnu
installing to /home/user/.cargo/bin
  stn
everything's installed!

user@localserver:~$ stn install
stn: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

it actually did not  build it. Then I tried
$ cargo install --force stn
this time image was built

I also tried installing openssl again just to make sure
sudo apt-get install libssl-dev
and  export the library path
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
still problem remained until I uesd Cargo install

@StoneMac65 may i ask what operating system you are using? maybe i will need to compile a statically linked binary.

@d1onys1us
my os:
Linux localserver 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
It's interesting, I thought maybe I try it with root user(my first user is also in sudoers). its still the same

@d1onys1us
my os:
Linux localserver 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
It's interesting, I thought maybe I try it with root user(my first user is also in sudoers). its still the same

yeah that is interesting. i think i can fix it by building a statically linked binary.
is the tool working fine for you now after installing with cargo? i will work on pushing out a fix soon.

Great. Looking forward to test new version
And yes. It worked fine after using cargo build. Installed a node in few seconds

same issue when running stn install on Ubuntu 22

for now i have updated the default installation method: https://github.com/d1onys1us/stn?tab=readme-ov-file#cargo-recommended
but will work on that static binary fix soon. looks like the build failed (ironically) on my ubuntu github runner.

Got the same issues with stn on Ubuntu 22. But for now, I got the error after command stn config full:
Failed to initialize EnvManager: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

https://github.com/d1onys1us/stn/pull/144 fixed installation issues here.
@x777 could you please open a separate issue for your stn config full problem?


Update ESP32 Mini schematics and PCB to v2.5.0

Added 1K R4 on gate of Q2.
Added 10K R5/R6 on gate of Q1.
Re-laid out PCB, all single sided and smaller.
Changed pads to hand solder.
Modified from ESP8266 layout.

Something to note in the Bill of Materials, the selected resistors fall under the extended library of parts from JLCPCB who charge an additional $4 per part. I was able to swap these parts to save $8 on on my order.
0805W8J0102T5E with 0805W8F1001T5E
0805W8J0103T5E with 0805W8F1002T5E

Yeah, I actually used JLC C17414 for 10K and JLC C17513 1K in my JLC order.


Swift 2: Can't disable logging/tracing

It seems that it's not possible to disable logging for the swift-2 branch. Any ideas?
Note:
I've tried to set db.trace(nil)

@schickling Do you mean after initially enabling it?

It's enabled per default for me.

I'm definitely not seeing that behavior. Are you on the latest version of the swift-2 branch?

Any update on this?
        let db = try! Connection(path)

        // enable console logging
        db.trace { msg in
            print("message: \(msg)")
        }

For this setup for example I always get the following output:
SELECT * FROM "person" WHERE ("person"."person_id" = ?) LIMIT 1 [Optional("1064fd0e-833b-4a6b-b4bc-d90a03074eba")]
message: SELECT * FROM "person" WHERE ("person"."person_id" = '1064fd0e-833b-4a6b-b4bc-d90a03074eba') LIMIT 1

@schickling Ahhh...that's an errant debug statement. Fixing now!

Should be good to go!

Thanks!


Search Editor: allow open file/jump to line with a single-click on the line number

A double-click on any line displayed as a result in Search Editor opens the related file in a new editor and place the text cursor on that line. That is fine, but I think that a double-click is not very intuitive.
I suggest that you allow the same open/jump action with a single-click on the number of line displayed on the beginning of every line in the Search Editor. In that case, the mouse cursor should be changed to the pointing finger when it hovers over the line number.

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


ERROR: Could not find a version that satisfies the requirement torch==1.1.0.post2

Issue description
Snorkel requires a package version of torch that does not exist on PyPi.
Code example/repro steps
pip install snorkel
Expected behavior
Snorkel installed
System info

How you installed Snorkel (conda, pip, source): pip
Build command you used (if compiling from source):

pip-compile --output-file requirements.txt requirements.in
pip install -r requirements.txt

OS: OS X, Linux
Python version: 3.7.4
Snorkel version: 0.9.1
Versions of any other relevant libraries:

Additional context
Add any other context about the problem here.

For more information, see https://github.com/pytorch/pytorch/issues/10443

Hi @rjurney, thanks for posting and digging around on this! As far as upgrading to PyTorch 1.2: there are some breaking changes, and so we're planning to make the next version (likely v0.10.0) compatible with PyTorch 1.2. The staged PR (needs an update) is #1395.
Now for install issues: I wasn't able to repro any issue with pip install snorkel on Ubuntu or OSX. I tried out pip-tools for the first time (just using snorkel==0.9.1 in requirements.in), and here's what I got:

On Ubuntu, the resolver gave torch==1.1.0 in requirements.txt and had no issue installing
On OSX, the resolver gave torch==1.1.0.post2 in requirements.txt and had no issue installing
On Ubuntu, pip install torch==1.1.0.post2 fails as you pointed to
Running pip-compile -P snorkel==0.9.1 -P torch==1.1.0 on any platform gave torch==1.1.0 in requirements.txt and had no issue installing

Will one of those combos will work for you before we push the PyTorch 1.2 upgrade?

Thanks for checking this out. Interesting. I’m using Anaconda Python on Ubuntu and OS X, and when I look at the list of artifacts and there is a 1.1.0.post2 so... I’m confused. I’ve had another issue like this with Anaconda pip recently. Is it possible for you to reproduce with Anaconda?

Hm ok you're activating a new Anaconda environment, installing pip-tools, then using that to install Snorkel? And is there any chance you generated a requirements.txt on OSX then tried installing with that on Ubuntu?
In the meantime, will using pip-compile -P snorkel==0.9.1 -P torch==1.1.0 work?

@henryre Ok, yeah I think I did generate on Linux and then install in OS X. So that means I can only check in my requirements.in and not my requirements.txt and then I'll have to generate it each install. That makes sense.
https://github.com/jazzband/pip-tools/issues/585 explains things well.

@henryre So now I'm running into problems with libraries like fast-bert require torch>=1.2.0 and snorkel requires less than this. I understand this is not strictly speaking a Snorkel problem, but wanted to describe my use case :)

@rjurney got it. I expect more and more of these to pop up, and our next release will definitely be on PyTorch 1.2!

@rjurney got it. I expect more and more of these to pop up, and our next release will definitely be on PyTorch 1.2!

When will this release come out? It's there any timeline?


single-platform case unnecessary

i think when we are generating for a single platform (the one that this PG was packaged with for download) then the "platform" field might be unnecessary.
right now, for me it shows "Unknown" but maybe that has something to do with it not being initialized by default anywhere.
(i'm going to post a couple other things i noticed rather than compiling it in one issue/thread)

I think showing it is useful for debugging / disambiguating.   we showed this on the original simple PG and i think it's useful (at least for me, I find it helpful to know that I am using the ios PG vs the osx one).
it says undefined because the settings.json file is not up to date, I need to check in some changes.  I also think the "display" names of the platforms are a little thin, vs should be visual studio, etc.  I am working on that now.

You can change your default platform in settings.json
There's no auto-detect as this has to be packaged with the release files... but I'm still wondering how to make this work those who download the github repos.
Node-js has a platform detection feature; we might be able to use that ?
So it would be:
If there's a settings.json it uses the default platform from there, otherwise (for github repos) it auto-detects.

i think this won't work for IOS.  We should just give instructions and put in OSX for now since we are testing it on OSX.    This was also a setting the settings.xml of the last PG so it's pretty similar to that.


Provide helper method to initialize a MetaLearner.

Checklist

[ ] Added a CHANGELOG.rst entry

@FrancescMartiEscofetQC does this make sense to you?

Yes! I think it can be useful for cloning unfit metalearners.


Fixed possible encoding issues when search term contains special characters

The search term was directly included in the URL which results in encoding issues on server side when the request was sent by Internet Explorer and umlauts has been contained in the search term.
By using encodeURIComponent all special characters are encoded before performing the request.

Hi @Fensterbank, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks Frédéric, I'll have a look at this PR.

Thanks Frédéric, good change so have merged this one.


Show Carabiner in Application Switcher (⌘⇥)

Currently Karabiner doesn't appear in the default App Switcher list — the one fired up by ⌘⇥ (Command-Tab).
This is very inconvenient during testing different shortcuts as I can't use the default ⌘⇥ to quickly switch between Karabiner and other apps, in which I am testing those shortcuts. Every time I have to do something rather cumbersome — either enable menu icon, click on it and choose Preferences or use some other trick with hiding current windows until I see Karabiner or launch Karabiner from Spotlight or something.
Is it possible to have an option to show Karabiner in the App Switcher list, please (btw., creating a shortcut to launch Karabiner would be rather inconvenient as well since then I'd have to memorize it just for those infrequent events when I test new shortcuts)?
Thank you!

Please upgrade to the latest beta and enable this setting.
How to upgrade to the latest beta version:
https://pqrs.org/osx/karabiner/document.html#check-for-updates

Thank you very much for this additional feature and such a prompt response!


link color

Hi, my terminal has dark background, and link colour on rtv is set to dark-blue (really difficult to read and ugly to see). Note that it's the only "strange" color (authors are coloured with a more bright blue).

Does anyone have my same issue? Is there a way to change this color? I adopt termite console.
Thanks!
P

OK... I found a "workaround": I edited objects.py into /user/lib/python3.5/site-packages/rtv this way:
'BLUE': (curses.COLOR_BLUE, -1) ----> 'BLUE': (curses.COLOR_CYAN, -1)

Seems that the color is decided by curses python library. Does anyone know how to edit the original curses palette? :)
Thanks!
P

Hi paoloap,
Curses will load the color pallet from the terminal that it's running on. Somewhere in your termite configuration your BLUE color is set to use that dark blue shade. So if you can figure out how to change it there, it should also apply inside of rtv.
I would try playing around with your termite config like this example
http://moparx.com/configs/termite/
color0 - black
color1 - red
color2 - green
color3 - yellow
color4 - blue
color5 - magenta
color6 - cyan
color7 - white

I swear that I searched everywhere how to customize termite standard colors, thanks for the link! :)
Now I could set color4 and rtv works perfectly.

Glad that you got it working!


See why no warning was fired from nonRNAVHasAirways for this

C172/A filed SUMMA2 SUMMA JINMO LMT TUDOR2. That should throw a warning because it has no airways in it. Is JINMO tripping it up?

Yes, looks like JINMO is tripping it up


BluetoothAudio: change singleton implementation to Create/Destroy bas…

…ed on requirement

This is still holding a central instance and will fail for init, init, deinit, deinit scenario (ie. multiple clients). It either needs to be reference counted or keeping of the instance needs to be offloaded to the client (ie the API passing a handle).

updated the code


Implement Spearmaiden

Could you get the tests for FulfillMilitaryClaim passing, even if you don't add tests specific for forced claim? Should be as simple as setting mustChooseAsClaim to an empty array on the player spy object.


TinyLlama-1.1B-orca-gpt4

First, I want to express my gratitude about this project. I think TinyLlama has a lot of potential and we're just starting to see it. Cudos!
I'm pretty new to this exciting field and this is the first time I fine-tuned a model. I used the "base" TinyLlama model (step-240k) to fine-tune using the sam-mosaic/orca-gpt4-chatml dataset but the result seems not as good as your v0.2 chat model.
I will keep working on this and I will share with you the models I create. I think that the RAG approach you guys are experimenting now is the good direction and I'll going to do some experiments with that too.
Anyway the model I produced is here in case you want to take a look: TinyLlama-1.1B-orca-gpt4

Hi acalatrava thanks for that! I will include your model into the EVAL.md later today.
You can try out this dataset https://huggingface.co/datasets/shahules786/orca-best. This is a filtered version of openorca and should produce better results.


Problem with cutting and pasting

Is your feature request related to a problem? Please describe.
When you cut a file and paste it somewhere else, the original file is simply copied rather than cut. This means you have to delete the original file after copying it, as the cut function does not work.
Describe the solution you'd like
Adding the ability to delete the original file once it is copied at the destination when the cut function is used
Describe alternatives you've considered
If deleting the original file is not possible, then it can be marked for manual deletion.
Additional context
I have tried this on my Windows 10 Home 64 bit PC

This has been fixed with 0b9705f, you can either build from the source code or wait for the next release to get the fix for this issue.


Resolve Stackage nightly failure

From https://travis-ci.org/lwm/tasty-discover/jobs/354132583:
Installing library in /home/travis/.stack/programs/x86_64-linux/ghc-8.4.1/lib/ghc-8.4.1/Cabal-<IP_ADDRESS>
strip:/home/travis/.stack/programs/x86_64-linux/ghc-8.4.1/lib/ghc-8.4.1/Cabal-<IP_ADDRESS>/st38C9OR/CharParsing.p_o: No space left on device
strip:/home/travis/.stack/programs/x86_64-linux/ghc-8.4.1/lib/ghc-8.4.1/Cabal-<IP_ADDRESS>/stSF6r95: No space left on device
make[1]: *** [install_packages] Error 1
make: *** [install] Error 2

I re-ran the build and it still failed so not sure. It seems to be a Travis issue?

Looks like we're getting blocked in nightly via https://github.com/fpco/stackage/issues/3393.

Another stab at this via https://github.com/fpco/stackage/pull/3565.


Incorrect name of Defalt tenant in drop-down lists of "Tenant"

[Version]
ESCM 16.1 Fix3 SAML mode
[Build]
BES_MASTER_UNIT-16482016/11/18
[Environment]
Windows 8.1 Enterprise x64
In each drop-down lists of "Tenant" (for example /oscm-portal/operator/createOrganization.jsf), we cannot see option "Default" - but we can choose this option as "-- Select one --". I think it should have a separate name.

@mdehn can you specify if should changed the UI here?

The current behavior seems confusing for a user.
Therefore provide a meaningful name here.

Changed list to display "Default tenant"

[Build] 17.3+
[Date] 2017/08/30
verified


Update distribution with latest fixes.

This updates the distributed code for this action to include the fixes from https://github.com/Deborah-Digges/create-a-discussion/pull/5.
It also adds the prepare script (and the necessary dev dependency for that script) so that the distribution can be built using npm run prepare. This follows the example the official JS action template.
I have verified that a version of this Action built with the last commit on this branch works as expected on a private repository.

@Deborah-Digges would you be willing to consider this PR please?


[WIP] Centralized logging capability. Follow up on the #4108

Description
I have created a PR to enable remote logging in system VM and routerVM in the past (PR: #4108, issue: #4093, ML discussion). This is an upgrade to that pr which enable/disable remote logging in systemvm and routervm using systemvm.remote.logging.enabled global setting.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Screenshots (if appropriate):
Refer to PR: #4108 and issue: #4093
How Has This Been Tested?

@rhtyd @DaanHoogland @weizhouapache
I have added a new global setting to enable/disable the remote logging in system VMs and router VMs. Based on the systemvm.remote.logging.enabled value which is passed to system VMs through cmdline it decide whether send the logs to a remote server or not. One missing part of this puzzle is the changes in nodes and management servers. I wasn't sure where I should add the changes, I need your help with that.
One option is to leave it as is and let the system administrator be in charge of changes in management servers and nodes. Another option is that cloudstack changes the following files in the management server/agent restart. I prefer to automate the procedure as much as possible, but I don't know how to achieve that. I appreciate any help.
Changes in nodes:

edit /etc/rsyslog.conf and uncomment/comment the following lines.

module(load="imtcp")
input(type="imtcp" port="514")

module(load="imudp")
input(type="imudp" port="514")

Adding below file on each hypervisor to export logs from hypervisor to management server.

# cat /etc/rsyslog.d/00-fwd.conf
if ($fromhost-ip startswith '169.') then {
    *.* @<Management Server IP>:514
    stop
}

Changes in management servers:

Just like nodes, below 4 lines have to uncommented in rsyslog configuration file on management server in /etc/rsyslog.conf

module(load="imtcp")
input(type="imtcp" port="514")

module(load="imudp")
input(type="imudp" port="514")

Add below file on management server

# cat /etc/rsyslog.d/00-remote.conf
$template remote-incoming-logs,"/var/log/rsyslog/%HOSTNAME%/syslog"
$template remote-incoming-logs-combined,"/var/log/rsyslog/remote"
if ($fromhost-ip startswith '10.' or $fromhost-ip startswith '172.') then ?remote-incoming-logs
if ($fromhost-ip startswith '10.' or $fromhost-ip startswith '172.') then ?remote-incoming-logs-combined
& ~

@soreana You are asking a rather wide question but let me try;
I'd create global settings for

remote logging for VRs
remote logging for systemVMs
remote logging for hosts
Than based on these settings appropriate changes on the targets can be made
as for the management server, I'd say that a separate package setting up the remote log server should be installed, this should already exist in most linux distros. Worst case a dependency can be defined and some minor post install script run (i.e. cloudstack-logserver-<IP_ADDRESS>.rpm)

Most operators will want to make it a different machine than the management server.
The IP of the remote logging server should be configurable per target as one can have a rather various cloud topography. An alternative would be to install a pass-through logging server that redirects to a central server, but that is only for the advanced version.
I'm pretty sure I didn't answer (all of) your questions but I hope I contributed some.

@DaanHoogland Thanks for the detailed comment. I have added the following global settings to manage remote logging for console proxy VM, storage VM, and router VM.

Name
Type
default value
is dynamic
description

consoleproxy.remote.logging.enabled
Boolean
false
✅
If true, console proxy will forward console proxy logs to <consoleproxy.remote.logging.address>

consoleproxy.remote.logging.address
String
""
✅
Console proxy forwards its logs to this address

secondary.storage.remote.logging.enabled
Boolean
false
✅
If true, secondary storage will forward secondary storage logs to <secondary.storage.remote.logging.address>

secondary.storage.remote.logging.address
String
""
✅
Secondary storage forwards its logs to this address

router.remote.logging.enabled
Boolean
false
✅
If true, Router VM will forward console proxy logs to <router.remote.logging.address>

router.remote.logging.address
String
""
✅
Router VMs forward their logs to this address

I want to change the /etc/rsyslog.conf and  /etc/rsyslog.d/00-fwd.conf files on hypervisors as well. Where is the best place to modify these files?


multi-platform so

hi,sir
can you please  provide the so libs for other platform such as arm64-v8a、armeabi-v7a、armeabi、x86 etc.

@tighunt ,already add x86、arm64-v8a support.


Add .GenericForm styles

TP: https://rockabox.tpondemand.com/entity/8777
See docs for detailed implementation notes.
Using an Inner class is a bit awkward here, but necessary until there's a functioning rb-icon.
I think this will do as a hook for now, but should be refactored soon.

On this.


[Refact] Reviewing block generators

Closes #397 and https://github.com/pasqal-io/qadence/issues/266

Hey @jpmoutinho is this reviewable/mergeable ?

Not yet @Roland-djee. I'm currently looking at the GPSR implementation to see how to properly account for that here.


Term definitions and scope of GO:0052695 cellular glucuronidation and GO:0019390 glucuronoside biosynthetic process

GO terms:

GO:0052695	cellular glucuronidation
The modification of an organic chemical by the conjugation of glucuronic acid. The substances resulting from glucuronidation are known as glucuronosides (or glucuronides) and are often much more water-soluble than the non-glucuronic acid-containing precursor.
GO:0036234	deglucuronidation
The removal of glucuronic acid from a conjugated substrate.

and

GO:0019390	name: glucuronoside biosynthetic process
The chemical reactions and pathways resulting in the formation of glucuronosides, compound composed of a hydroxy compound linked to a glucuronate residue.
GO:0019391	name: glucuronoside catabolic process
The chemical reactions and pathways resulting in the breakdown of glucuronosides, compound composed of a hydroxy compound linked to a glucuronate residue.

Based on their definition and how proteins involved in these processes are annotated I am not sure in which context they should be used (or what is the difference between them). At the moment, I have the impression that they mean more or less the same.

Glucuronides (or glucuronosides) are produced by linking glucuronic acid (GlcA) (provided by UDP-GlcA) to a molecule via a glycosidic bond.
The molecule can be:

endogenous substances (e.g., bilirubin)
drugs
xenobiotics (e.g., environmental toxins)
also the same reaction is part of the synthesis of:
tetrasaccharide linkage used for glycosaminoglycan biosynthesis (Ser/Thr- Xyl - Gal - Gal- GlcA)
part of the repeat disaccharide unit of Heparin/Heparan sulfate (HS) and chondroitin sulfate (CS)/dermatan sulfate (DS)

Examples of annotation:
PMID: 22294686 was used to create the GO term deglucuronidation. In the paper they characterised ABHD10. For the annotation based on this paper GO glucuronoside catabolic process instead/ of GO cellular glucuronidation was used.
GO:0019391	glucuronoside catabolic process	 IDA 	PMID: 22294686
GO:0052695	cellular glucuronidation			TAS		Reactome
For mouse Gusb:
GO:0030200	heparan sulfate proteoglycan catabolic process	(IMP)
GO:0019391	glucuronoside catabolic process		ECO:0000314	(IDA)
the assay use artificial compound hence the glucuronoside catabolic process.

Yes, all cellular terms should be merged.
@raymond91125 Would you please merge GO:0052695 cellular glucuronidation into GO:0036234 deglucuronidation  ?

Shouldn't it be that:

GO:0052695 cellular glucuronidation merged into GO:0019390 name: glucuronoside biosynthetic process
GO:0036234 deglucuronidation merged into GO:0019391 name: glucuronoside catabolic process

However, should they be obsoleted because they are one-step processes corresponding to GO:0008194 UDP-glycosyltransferase activity and glucuronidase esterase activity (not sure of the proper GO term, or if we need a new one), respectively?

Good points - I hadn't looked at the terms closely.
Looks like this branch could also be obsoleted:

GO:0019389 glucuronoside metabolic process
GO:0019390 glucuronoside biosynthetic process (as you mentioned)
GO:0019391 glucuronoside catabolic process

4 EXP total.
@rozaru I am not sure how you came across these terms; would you miss them?
Thanks, Pasacale

I was working on the glucuronate and UDP-glucuronate (UDP-GlcA) pathways. It is when I looked at the annotation of the enzymes involving UDP-GlcA that I found these GO terms and thought that their definition looked similar.
"glucuronidation" is the term used in the literature to describe the process and usually refers to addition of GlcA to a molecule to make it more soluble so that it can be excreted.
@raymond91125 is right, those terms represent in fact a one step reaction.

For glucuronidation/glucuronoside biosynthetic process the MF GO term GO:0015020 glucuronosyltransferase activity and its children would cover it.
In terms of BP, depending on the context these and their relevant children could be used:
protein glucuronation
GO:0006486 protein glycosylation
GO:0030166 proteoglycan biosynthetic process
xenobiotic glucuronation
GO:0042178 xenobiotic catabolic process
GO:1990748 cellular detoxification
etc..

For deglucuronidation/glucuronoside catabolic process the MF GO term GO:0004566 beta-glucuronidase activity, GO:0046559 alpha-glucuronidase activity and, GO:0016788 esterase activity and their relevant children, would cover it.
For BP, glycoprotein catabolic process and its children could be used.

Addressing @amandamackie 's comment in the Annotation review ticket - and to go back to what @rozaru wrote above:

glucuronidation/glucuronoside biosynthetic process the MF GO term GO:0015020 glucuronosyltransferase activity and its children would cover it.

Since there are multiple activities, is this not a process?

@pgaudet
in this case, it's one reaction but depending on the substrate (glycan or xenobiotics) the enzyme is different, but they would normally belong to the glucosyltransferase activity.
One of the EC is:https://enzyme.expasy.org/EC/<IP_ADDRESS>
For this type of situation would a BP be OK?

I am not sure - this is the UniProt summary for https://www.uniprot.org/uniprotkb/O60656/entry

UDP-glucuronosyltransferase (UGT) that catalyzes phase II biotransformation reactions in which lipophilic substrates are conjugated with glucuronic acid to increase the metabolite's water solubility, thereby facilitating excretion into either the urine or bile (PubMed:12181437, PubMed:15470161, PubMed:15472229, PubMed:18004212, PubMed:18052087, PubMed:18674515, PubMed:19545173).
Essential for the elimination and detoxification of drugs, xenobiotics and endogenous compounds (PubMed:12181437, PubMed:18004212).
Catalyzes the glucuronidation of endogenous estrogen hormones such as estradiol and estrone (PubMed:15472229).
Also catalyzes the glucuronidation of the isoflavones genistein, daidzein, glycitein, formononetin, biochanin A and prunetin, which are phytoestrogens with anticancer and cardiovascular properties (PubMed:18052087, PubMed:19545173).

GO:0019391 glucuronoside catabolic process is probably not the right process, but I am not sure what is - any suggestion?

Indeed the children should also be obsoleted - I suppose these are activities that lead to detoxification (for xenobiotics) or to modification (for flavenoids)? I just looked quickly, really annotations should be reviewed.
I am sorry, I hadn't seen these terms had children.

Looking back at the tread it seems that the GO term glucuronidation and deglucuronidation are going to be kept despite that they probably covers one reaction processes. Is that correct?
There are 60 experimental annotations to the term cellular glucuronidation and children. They all corresponds to genes that belong to the UDP-glucuronosyltransferase family that catalyses:
glucuronate acceptor + UDP-alpha-D-glucuronate = acceptor beta-D-glucuronoside + H+ + UDP
EC <IP_ADDRESS> (MF glucuronosyltransferase activity GO:0015020)
There is 1 experimental annotation to the term deglucuronidation and children (Palmitoyl-protein thioesterase ABHD10).
|__glucuronate metabolic process
           |__cellular glucuronidation
           |   |__acyl glucuronidation
           |   |__flavonoid glucuronidation
           |   |__xenobiotic glucuronidation
           |__deglucuronidation
           |   |__acyl deglucuronidation

Before I close this ticket, I was wondering if the "cellular" could be removed from cellular glucuronidation GO term name.
GO:0052695 cellular glucuronidation
The modification of an organic chemical by the conjugation of glucuronic acid. The substances resulting from glucuronidation are known as glucuronosides (or glucuronides) and are often much more water-soluble than the non-glucuronic acid-containing precursor.

Hi @rozaru
I agree these terms should be obsoleted :
deglucuronidation http://purl.obolibrary.org/obo/GO_0036234
'acyl glucuronidation' http://purl.obolibrary.org/obo/GO_0036236
'acyl deglucuronidation' http://purl.obolibrary.org/obo/GO_0036235
'protein glucuronidation' http://purl.obolibrary.org/obo/GO_0018411
'cellular glucuronidation' http://purl.obolibrary.org/obo/GO_0052695
'flavonoid glucuronidation' http://purl.obolibrary.org/obo/GO_0052696
'protein O-glucuronidation' http://purl.obolibrary.org/obo/GO_0018412
'xenobiotic glucuronidation' http://purl.obolibrary.org/obo/GO_0052697
'regulation of cellular glucuronidation' http://purl.obolibrary.org/obo/GO_2001029
'negative regulation of cellular glucuronidation' http://purl.obolibrary.org/obo/GO_2001030
'positive regulation of cellular glucuronidation' http://purl.obolibrary.org/obo/GO_2001031
(but maybe there are additional children?)
But I dont think annotations should be transferred to 'x metabolic process'; these are also essentially MFs; the meaning is just 'x is converted into something else'. It's even more vague than a MF.
We need an annotation review for these terms - @raymond91125 is there one? I could find it.
Thanks, Pascale

[ ] GO:0036234 deglucuronidation
[ ] GO:0036235 acyl deglucuronidation
[ ] GO:0036236 acyl glucuronidation
[ ] GO:0018411 protein glucuronidation
[ ] GO:0018412 protein O-glucuronidation
[ ] GO:0052695 cellular glucuronidation
[ ] GO:0036236 acyl glucuronidation
[ ] GO:2001030 negative regulation of cellular glucuronidation
[ ] GO:2001031 positive regulation of cellular glucuronidation
[ ] GO:2001029 regulation of cellular glucuronidation
[ ] GO:0052697 xenobiotic glucuronidation

Missed one

[ ] GO:0052696 flavonoid glucuronidation

All done, I believe.


latest master and v4.5.0-release-branch fail to build from source (FTBFS)

Both these branches now fail to build on my Linux Fedora Core 26 64-bit system with autoconf build system, as of 20171001. Master built successfully a month ago. Build fails to link ncgen. Problem appears to be unresolved symbols that, if I understand correctly, might be found in libdispatch. Configure command is
CPPFLAGS='-I/usr/local/include -I/usr/include/hdf' LDFLAGS='-L/usr/local/lib -L/usr/lib64/hdf' LIBS='-ljpeg' ./configure --prefix=/usr/local --enable-shared --enable-cdf5 --enable-dap --enable-hdf4 --enable-logging --enable-netcdf4 --enable-v2
and summary is
# NetCDF C Configuration Summary
==============================

# General
-------
NetCDF Version:         4.5.1-development
Configured On:          Sun Oct  1 11:45:01 PDT 2017
Host System:            x86_64-pc-linux-gnu
Build Directory:        /data/zender/tmp/netcdf-c
Install Prefix:         /usr/local

# Compiling Options
-----------------
C Compiler:             /bin/gcc
CFLAGS:
CPPFLAGS:               -I/usr/local/include -I/usr/include/hdf
LDFLAGS:                -L/usr/local/lib -L/usr/lib64/hdf
AM_CFLAGS:
AM_CPPFLAGS:
AM_LDFLAGS:
Shared Library:         yes
Static Library:         yes
Extra libraries:        -ljpeg -lmfhdf -ldf -lhdf5_hl -lhdf5 -ldl -lm -lz -lcurl -ljpeg

# Features
--------
NetCDF-2 API:           yes
HDF4 Support:           yes
NetCDF-4 API:           yes
NC-4 Parallel Support:  no
PNetCDF Support:        no
DAP2 Support:           yes
DAP4 Support:           yes
Diskless Support:       yes
MMap Support:           no
JNA Support:            no
CDF5 Support:           yes

...
Making all in liblib
make[2]: Entering directory '/home/zender/data/tmp/netcdf-c/liblib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/zender/data/tmp/netcdf-c/liblib'
Making all in ncgen3
make[2]: Entering directory '/home/zender/data/tmp/netcdf-c/ncgen3'
/bin/sh ../libtool  --tag=CC   --mode=link gcc    -L/usr/local/lib -L/usr/lib64/hdf -o ncgen3 main.o load.o escapes.o getfill.o init.o genlib.o ncgentab.o ../liblib/libnetcdf.la  -ljpeg -lmfhdf -ldf -lhdf5_hl -lhdf5 -ldl -lm -lz -lcurl -ljpeg
libtool: link: gcc -o .libs/ncgen3 main.o load.o escapes.o getfill.o init.o genlib.o ncgentab.o  -L/usr/local/lib -L/usr/lib64/hdf ../liblib/.libs/libnetcdf.so -lmfhdf -ldf /usr/local/lib/libhdf5_hl.so /usr/local/lib/libhdf5.so -ldl -lm -lz -lcurl -ljpeg -Wl,-rpath -Wl,/usr/local/lib
../liblib/.libs/libnetcdf.so: undefined reference to `nclistpush'
../liblib/.libs/libnetcdf.so: undefined reference to `ezxml_all_attr'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytessetlength'
../liblib/.libs/libnetcdf.so: undefined reference to `nc_utf8proc_map'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistclone'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistpop'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesappend'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytescat'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistfreeall'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesfree'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistsetlength'
../liblib/.libs/libnetcdf.so: undefined reference to `nc_utf8proc_iterate'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistinsert'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistget'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesremove'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistextract'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesget'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistnew'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistdup'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistfree'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesnew'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesextract'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesnull'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesappendn'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytesdup'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistset'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistremove'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistsetalloc'
../liblib/.libs/libnetcdf.so: undefined reference to `nclistcontains'
../liblib/.libs/libnetcdf.so: undefined reference to `ncbytessetalloc'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:692: ncgen3] Error 1
make[2]: Leaving directory '/home/zender/data/tmp/netcdf-c/ncgen3'
make[1]: *** [Makefile:701: all-recursive] Error 1
make[1]: Leaving directory '/home/zender/data/tmp/netcdf-c'
make: *** [Makefile:546: all] Error 2

This is odd. Autoconf is a part of our usual tests, so  I’m surprised to see this. I will work on duplicating and fixing it.

Never mind. My fault. Didn't 'make distclean' first. Closing. Sorry for the false alarm!


Changed suite default communication mode to Transport

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: Abhishk123:white_check_mark: Eswar2103:white_check_mark: PreethiMaai:x: jbigeljbigel seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

:tada: This PR is included in version 1.2.0-dev.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add unnamedplus option to clipboard docs

I was searching for :h clipboard and couldn't find this option.

Good hint to add at this place.  I'll include it.


Session lock and DPMS interactions causing Hyprland to crash

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit 3d09c6d526a37b3bfd81bdd6d7427272d1ba90ac dirty (makefile: fix old headers only being copied).
Date: Tue Apr 30 19:32:42 2024
Tag: v0.39.1-116-g3d09c6d5, commits: 4576

flags: (if any)

Bug or Regression?
Regression
Description
Unlocking a session and dispatching dpms to turn on a monitor in quick succession results in a few seconds of instability where spawning any non-standard window (rofi-wayland/hyprlock/swaylock but not foot/kate for example) causes Hyprland to crash. Introduced after the switch to the new session-lock impl.
How to reproduce
example hypridle.conf
general {
    lock_cmd = hyprlock && loginctl unlock-session
    unlock_cmd = hyprctl dispatch dpms on
}

listener {
    timeout = 5
    on-timeout = hyprctl dispatch dpms off
    on-resume = hyprctl dispatch eDP-1 # or any primary display for the screen locker
}

Lock the session and run a screen locker. (swaylock/hyprlock)
Dispatch dpms off on any monitor as long as there's one that is off when unlocking. (either by idle daemon timeout or keybind for easier testing)
Unlock the session successfully and dispatch dpms on for all monitors (swaylock/hyprlock && dispatch dpms on)
Launch any non-standard window program within a few seconds (rofi-wayland/swaylock/hyprlock)
Experience a crash

Crash reports, logs, images, videos
crashreport.txt

I love wlroots.

patch.txt
try this

patch works

how do I apply the patch, im quite new sorry


Deployed 0.4.0 on Goerli

In https://github.com/raiden-network/raiden/pull/3808 we found that the Raiden client expects the 0.4.0 deployment on the Goerli chain.  This commit adds that deployment.

@czepluch ah, I forgot etherscan.  Doing now.  Thanks.

Now I see etherscan_verify.py doesn't work with older versions. https://github.com/raiden-network/raiden-contracts/issues/864

This was a first step for https://github.com/raiden-network/raiden/issues/3819.


Implemented Gradebook Find Command

Made changes to User Guide and Developer Guide to conform to Gradebook List Command
Updated codes to Gradebook Update Files

Coverage decreased (-3.8%) to 72.957% when pulling ef9d81d7979f7dccdfcd29fda984c55e001c7b26 on tristyxxnana:UpdatedGradebookFindCommand into a8d2632df0adac875cc77ff334a203cddf9b8e57 on CS2113-AY1819S1-T16-1:master.


Support different actions after the delay besides turning off the lights that were turned on

🙄 Is your feature request related to a problem? Please describe.
This feature request was spurred by @mycanaletto in issue14.  The fix for the original issue enabled running scenes instead of just turning lights on. But then there was a need to be able to return to the original scene after the delay.
😍 Describe the solution you'd like
To address this request, I'm going to add a lights_off parameter.  lights_off can include switches and lights (just like the lights parameter) and also scenes.
This is big!  To make things even more powerful, lights and lights_off (and even daytimes) should even support running scripts.

At a time when the core tends to be more and more GUI-based, it's great that Automoli is evolving. At first, I wasn't too keen on yaml, but now I find it much more practical!
If you can execute an output action, it opens the door to a lot of possibilities.
In fact, I'm going to write an article on my blog about these possibilities and, above all, about getting to grips with Automoli again.
I ended up abandoning Schedy for direct yaml, but I'm still a fan of ControllerX !

@mycanaletto, please try out automoli.py in the issue15 branch.  This is a pretty major re-rewrite both to add the lights_off argument and also to properly handle scenes and scripts across lights, lights_off, and daytime arguments.  Note that scripts/scenes will only run once - if they are in lights or daytimes then when the lights are turned on or the daytime is switched or if they are in lights_off then when the lights are turned off.
I have gone a number of test cases but I expect there may still be bugs so will be running it for a while to see if there is any strange behavior and I would appreciate any feedback you have as well.
I've spent most of my career working on GUI experiences, so it is quite ironic that I also fell back to yaml for configuring home assistant! :)

It seems to work, but I wonder what the output time is.
In my configuration, the first global input lights up blue.
The second will light up white when you enter.
And it's the first input that will eventually turn off...
In this mode of operation, I think there should be a delay_light_off: parameter?
Or is there something I haven't understood?
auto_sdb_strip_global:
  module: automoli
  class: AutoMoLi
  room: a_sdb_global
  motion_state_on: "on"
  motion_state_off: "off"
  delay: 3000                         # long time ...
  daytimes:
    - { starttime: "06:29", name: more_night, light: 0 }
    - { starttime: "06:30", name: day, light: "scene.led_strip_sdb_blue" } # Global zone : blue
  lights: light.led_strip_sdb
  motion: binary_sensor.motion_global

auto_sdb_strip:
  module: automoli
  class: AutoMoLi
  room: a_sdb
  motion_state_on: "on"
  motion_state_off: "off"
  delay: 100
  daytimes:
    - { starttime: "06:30", name: more_night, light: 0 }
    - { starttime: "07:30", name: day, light: "scene.led_strip_sdb_day" }     # Private zone : white
    - { starttime: "00:10", name: night, light: "scene.led_strip_sdb_night" }
  lights: scene.led_strip_sdb_blue
  lights_off: scene.led_strip_sdb_blue
  motion: binary_sensor.motion_private

Or manage everything (global sensor and its action) in the same input?
  lights_pre_load: scene.led_strip_sdb_blue
  motion_pre_load: binary_sensor.motion_global

  lights_off: scene.led_strip_sdb_blue
  delay_off: 3000

In practice, the aim is that if someone crosses the corridor, the bathroom is lit in blue (it's visible) and if someone enters the bathroom, it's lit in white for as long as that person is in the bathroom. So you don't want the external sensor to end up switching off the bathroom while someone's inside...
I think this case can be transposed to other uses.

If I am understanding the scenario and how your setup works, I don't think you need lights_off configured at all.  Instead in auto_sdp_strip_global, add block_off_switch_entities with the motion sensor for the bathroom (binary_sensor.motion_private). That will prevent the corridor from turning off until after there is no motion in the bathroom.
lights_off works well for a few scenarios. For example, if you wanted to return to the blue RGB after leaving the bathroom instead of turning the lights off. Or, if you want to execute a script in addition to (or less likely instead of) turning off the lights, like notifying your phone that the lights went off.

I tried block_off_switch_entities: without success, but block_on_switch_states: seems to work.
auto_sdb_strip_global: switches to blue
auto_sdb_strip: switches from white to blue on output
auto_sdb_strip_global: switches to off, but too fast or too long if you increase the delay.
In fact, lights_off: is missing a delay to really switch to off, so that you don't have to wait for auto_sdb_strip_global:

Hmm, I am confused by a few things with your reply. Apologies for my long reply but let me try to explain a few things in detail to make sure they are clear.
First, let me explain block_off and block_on. In both cases you need both entities and states. block_on says before turning on the lights check if any of the block_on_switch_entities have block_on_switch_states. If they do then do not turn the lights on.  block_off does the same thing but blocks turning the lights off if any block_off_switch_entities have block_off_switch_states.  For example, I have a binary_sensor that looks at the weather and sun position and if it is really sunny it has the state "on" and will block turning on certain lights.  For block_off, my bathroom has a different light in the shower and lights outside the shower.  I use humidity and temperature to not turn off the shower light but I prevent turning off the lights outside the shower if the shower light itself is on using block_off (so I don't step out of the shower in the dark).
As I said, I don't think you need lights_off here at all.  Here's what I expected was the solution.  I would think that motion sensor 1 turns the bathroom light to blue and if you don't go into the bathroom and trip motion sensor 2 the blue light will go off after a certain delay. But if you go into the bathroom, it changes to white and it stays on for the delay there or as long as there is motion with motion sensor 2 (see note 1 below).  Then once the delay passes after no motion has been detected it will turn off.  The problem I thought you had is that the delay for turning the light blue ends up turning the light off even after you change it to white.  But if you use block_off alongside the blue/motion sensor 1 you can prevent it from turning off.  I suggested above using block_off with motion sensor 2 but that may not have been the right solution (see note 2 below).
Note 1: The motion for a certain room doesn't just cause the lights to turn on but it resets the delay whenever motion triggers. Motion sensors have a detected (on) and cleared state (off). Lights go on as soon as motion is detected and the delay timer starts when motion clears.  But if motion is detected a second time the timer is reset.  So lights will go off in a room the delay number of seconds after the last motion is cleared.
block_off actually also just resets the timer. Let's say a room has a 60 second delay but a block_off if the day is Monday (just for a silly example).  Monday night you trigger the light on, 60 seconds later it goes to turn off but it's Monday so it waits another 60 seconds and checks again. It will keep checking every minute and finally just after midnight another 60 seconds will have passed and it will be Tuesday and the lights will finally go off.
Note 2: I said to block_off using a motion sensor but that was probably the wrong thing depending on the type of motion sensor (see note 3) because as soon as the motion sensor switches to off, after the next delay the block_off check will fail and the lights would go off. What you probably want instead is to prevent it from turning off as long as the light is white. A scene will not report as on but if the rgb light itself will report as on you can use that to block_off.
Note 3:  I mentioned it depends on the motion sensors.  There are generally two that I use.  I have a number of sensors that detect when you cross the sensor, turn on and then almost immediately turn off.  PIR (passive infrared) sensors behave this way. Then there are motion sensors that detect presence and will stay on as long as they detect presence (like aqara sensors). I was thinking of the second type in my original solution - if your bathroom motion sensor stayed on for a while then it might work to block turning the lights off.  But if the motion sensor turns on and then immediately off it won't work.
I hope all of this makes sense.  If it doesn't, if you can tell me the type of RGB light you have and the type of motion sensor, I can try to construct a yaml that will work (hopefully).

Thank you for all these explanations and your passion for this kind of implementation.
My first sensor is an Aqara basic which stays on for the time of the passage (1 minute), while the second is an Aqara P1 which has the notion of occupancy (10 minutes). The led band is RGBCCT. I know there are more advanced sensors, but they need to be powered, which won't be possible.
Once again, my goal (non-existential... fun) is to go back to blue if there's no more activity in the bathroom, and to switch off after a longer delay if there's no activity on the two sensors.
Perhaps Automoli isn't the right approach for what I want to do, as I think it would have to be managed in a single input capable of handling both sensors, which would require major modifications.
I had started an automation in yaml (in the other post) that I could complete with the humidity constraint so as not to switch off if someone takes a shower and also place a door contact.

Separate update on this feature request:  As I continue to think about this update, I am uncomfortable with the current implementation making the core automoli functionality more complex (and buggy both because of code errors and potential for user confusion).
Rather than supporting scripts and scenes in lights and lights_off, I want to keep lights pure.    Instead, I am considering adding "after_on" and "after_off".  after_on would execute separately after the lights are turned on and after_off after the lights are turned off.  It would still support all the same scenarios but keep the logic of when lights go on/off simpler.  Feedback welcome but this will be my next change when I have time.

I haven't had time to work on it again.
That said, I understand your logic and after_on / after_off seems like a good idea to maintain a certain consistency.

I pushed a new version to the issue15 branch. Scripts and scenes are now blocked in the lights entities but allowed in after_on, after_off, and daytimes.
When you have a chance, try it out and let me know if you have any feedback.  I am going to run with it this week and if all looks good plan to merge it back to main next weekend.

I tested, the scenes are ok in after_off, but not the scripts...

Hmmm, can you share your config? And if possible what your script does?  I have a simple script that just calls the notify service on my phone and it launches fine in after_off.

Really not much. And if I launch it manually, it works.
auto_sdb_strip:
  module: automoli
  class: AutoMoLi
  room: a_sdb
  motion_state_on: "on"
  motion_state_off: "off"
  delay: 15
  daytimes:
    - { starttime: "06:30", name: more_night, light: 0 }
    - { starttime: "07:30", name: day, light: "scene.led_strip_sdb_day" }
    - { starttime: "00:10", name: night, light: "scene.led_strip_sdb_night" }
  lights:
    - light.led_strip_sdb
  # after_on:
  after_off: script.1710171206878
  motion:
    - binary_sensor.test_sdb
  disable_switch_entities:
    - input_boolean.disable_automoli_sdb_strip

alias: GUI - Exit Strip SdB
sequence:
  - choose:
      - conditions:
          - condition: state
            entity_id: light.groupe_d_ampoules_led
            state: "on"
        sequence:
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.led_strip_sdb_blue
  - choose:
      - conditions:
          - condition: state
            entity_id: light.groupe_d_ampoules_led
            state: "off"
        sequence:
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.led_strip_sdb_blue
          - delay:
              hours: 0
              minutes: 1
              seconds: 0
              milliseconds: 0
          - service: light.turn_off
            metadata: {}
            data:
              transition: 60
            target:
              entity_id: light.led_strip_sdb
mode: single

I don't have time to test your exact script right now but just in case it's the script, could you see if my script works (obviously replacing notify.mobile_app_your_phone with the right service call for you)?
send_phone_notification:
  alias: Send phone notification
  sequence:
  - service: notify.mobile_app_your_phone
    metadata: {}
    data:
      message: Hello world!
  mode: single

I understand what happened.
I created this script quickly in GUI and AddDaemon doesn't know it. Relaunching AppDaemon works fine, the script launches with after_off!
I'll be able to see what avenue I'm exploring!

Glad to hear it works!  I am a little surprised that the new script required restarting AppDaemon though. I doubt this is the case but, by any chance, do you use the production_mode setting in your AppDaemon configuration file?  If you are (and it is set to true) automoli won't reload when you updated the app config. Otherwise, it is a mystery to me - but glad that the code works at least.

For my scenario, I've done things a bit differently: I consider that the state of the bathroom lighting before automoli goes into action is managed by other scripts/automations.
So I'm only concerned with the output conditions, and the script launched with after_off is perfect.
However, calling an external script is contrary to Automoli's philosophy, where the idea is that everything should be included...
So I was thinking it might be possible to consider scripting this directly in Automoli?
I made this script as an output :
script:
  light_exit_strip_sdb:
    alias: "Light Exit Strip SdB"
    mode: single
    icon: mdi:led-strip-variant-off
    sequence:
      - choose:
          - conditions: "{{ is_state('light.groupe_d_ampoules_led', 'on') and is_state('switch.lidl_multiprise_l3', 'off') }}"
            sequence:
              - service: scene.turn_on
                target:
                  entity_id: scene.led_strip_sdb_blue
          - conditions: "{{ is_state('light.groupe_d_ampoules_led', 'on') and is_state('switch.lidl_multiprise_l3', 'on') }}"
            sequence:
              - service: light.turn_on
                data:
                  color_name: blue
                  brightness_pct: 5
                target:
                  entity_id: light.led_strip_sdb
          - conditions: "{{ is_state('light.groupe_d_ampoules_led', 'off') }}"
            sequence:
              - service: scene.turn_on
                target:
                  entity_id: scene.led_strip_sdb_blue
              - delay:
                  hours: 0
                  minutes: 1
                  seconds: 0
                  milliseconds: 0
              - service: light.turn_off
                data:
                  transition: 60
                target:
                  entity_id: light.led_strip_sdb

But we could imagine:
  after_off:
    - if light.one,on and switch.one,off do scene.led_strip_sdb_blue
    - if light.one,on and switch.one,on do scene.led_strip_sdb_white

Or directly in script language :
  after_off:
    - script:
      - conditions:
          - condition: state
            entity_id: light.groupe_d_ampoules_led
            state: "off"
        sequence:
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.led_strip_sdb_blue
          - delay:
              hours: 0
              minutes: 1
              seconds: 0
              milliseconds: 0
          - service: light.turn_off
            metadata: {}
            data:
              transition: 60
            target:
              entity_id: light.led_strip_sdb

This is just my imagination and I guess it would really complicate development....

FYI, I did go ahead and merge this into main since it's working but keeping this issue open for the discussion (for now :)).
We may be on the verge of a religious debate :) but I actually do not see automoli as a replacement for home assistant but rather as a complement.  That's actually why I like this feature.  It brings the best of automoli together with the best of home assistant.  I have some automations in home assistant but most of my light controls are in automoli - because doing this in home assistant is much more challenging.
That said, I think you could potentially still accomplish everything above in automoli although you have to create a binary_sensor template.

Create a separate room in automoli with light as light.led_strip_sdb
Create a binary_sensor for when light.groupe__ampoules_led goes off.  You can use a template sensor in configuration.yaml with the following template:
{{ states('light.groupe_d_ampoules_led') == 'off' and (as_timestamp(now()) - as_timestamp(states.light.groupe_d_ampoules_led.last_updated)) < 15  }}
Add that binary_sensor as the motion to the new room you created (it will trigger on when the light.groupe goes off and then off 15 seconds later).
Set after_on to scene.led_strip_sdb_blue (the first sequence in your script)
Set delay to 60 (for 1 minute)

I haven't tested this fully but use variants of that template in several of my automoli rooms.  Let me know if you give this a try.

Hello,
I've been a little busy with other matters and health problems. But I managed to make it work the way I wanted and I wanted to thank you for your help.
Lionel

I am sorry to hear you are going through health problems and I hope you are feeling better. I'm glad it's working now!  Please note that I did check in one bug fix this morning that was introduced with my recent updates so please grab the latest copy from main if you didn't grab it today. I'll go ahead and close this issue for now but please reach out with any other feedback or ideas!


Better Azure blob storage support

TL;DR
Support Azure blob storage for storing metadata and raw data including structured datasets, without interrupting other standard Azure authentication. Also ensure storage_options are set consistently for all uses of fsspec.
Type
Its debatable. The original github issue was a bug for fixing Azure authentication but it could be argued that Azure blob storage support is a new feature.

[x] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested - Not really sure what is expected but I have used these change to deploy real workflows.
[x] Unit tests added - I added a bit of new coverage, e.g. initialising the AzureBlobFilesystem.
[x] Code documentation added - There are code comments, but I think ideally there would be a page in the documentation for Azure.
[x] Any pending items have an associated Issue - There aren't any

Complete description
Added a new component to DataConfig for Azure similar to the ones for S3 and GCS. This allows configuring the flytekit's  storage account without disrupting other Azure auth that may be used by flyte task implementations. This is done by setting the environment variables FLYTE_AZURE_STORAGE_ACCOUNT_NAME, FLYTE_AZURE_STORAGE_ACCOUNT_KEY, FLYTE_AZURE_TENANT_ID, FLYTE_AZURE_CLIENT_ID, FLYTE_AZURE_CLIENT_SECRET. You can set these using a pod template so that authentication to your flyte storage account works across your whole flyte deployment, inrespective of what authentication each task uses.
Use DataConfig to construct fsspec storage options in data_persistence.py. We reuse the same function for fetchign storage_options elsewhere inlcuding for encode and decode of structured datasets. This ensures local, S3, GCS and Azure work wherever fsspec is used.
You should specify configmap.core.propeller.rawoutput-prefix to be in the format abfs://<container-name>/<path-within-container>.
Tracking Issue
Related discussion was on https://github.com/flyteorg/flyte/issues/3962 but technically that issues was about workload identity which was mostly fixed by https://github.com/flyteorg/flytekit/pull/1813
Follow-up issue
NA

cc @fiedlerNr9

Hmm... it looks like a couple of my new tests are failing on the windows builds.
E           Expected: to_parquet('abfs://container/parquet_df/00000', coerce_timestamps=<ANY>, allow_truncated_timestamps=<ANY>, storage_options={'account_name': 'accountname_from_storage_options'})
E           Actual: to_parquet('abfs://container/parquet_df\\00000', coerce_timestamps='us', allow_truncated_timestamps=False, storage_options={'account_name': 'accountname_from_storage_options'})

Asserting on the path was not really the primary purpose of this test so I will probably just make the assertion just on the storage_options. I suspect this would work because blob storage filenames can be arbitrary strings but normally blob storage uses forward slashes /.

Hmm... it looks like a couple of my new tests are failing on the windows builds.
E           Expected: to_parquet('abfs://container/parquet_df/00000', coerce_timestamps=<ANY>, allow_truncated_timestamps=<ANY>, storage_options={'account_name': 'accountname_from_storage_options'})
E           Actual: to_parquet('abfs://container/parquet_df\\00000', coerce_timestamps='us', allow_truncated_timestamps=False, storage_options={'account_name': 'accountname_from_storage_options'})

Asserting on the path was not really the primary purpose of this test so I will probably just make the assertion just on the storage_options. I suspect this would work because blob storage filenames can be arbitrary strings but normally blob storage uses forward slashes /.

There are 3 test suites that timeout out after 6 hours. It looks like they all failed in the Cache pip stage so I don't think these are related to my changes.


parser flexibility

We should build to be flexible so that we can adopt another parser if necessary when dota changes to source 2.
We should investigate dotabuff's parsers sange/yasha, and possibly separate out the parser into its own project.
We can binary-drop the compiled parser into this project.
In development, we can set the parser path to our development parser project.

Let's stick with clarity and hope it updates rapidly in response to Source 2.
May spend some time tinkering with JavaScript parser.


Add analogue controls mapping to keyboard

Original issue:
https://github.com/OpenDriver2/REDRIVER2/issues/141

Will this issue add the option to map controls? ... being able to choose which key does which action.

Controls in PsyX can be remapped, though you need to write custom mapping loading implementation like I did in ReDriver2


script fail to resolve deployed contract name

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (b83b316 2023-01-25T00:12:19.890671Z)
What command(s) is the bug in?
forge script ./script/MyScript.s.sol --rpc-url   --private-key   -vvvv;
Operating System
macOS (Apple Silicon)
Describe the bug
Context:
I'm using the run-latest.json files to extract informations using jq but noticed that in some cases, for transactionType "CREATE", the contractName field was undefined. So, I tried to reproduce the bug with the simplest example I could.
Script:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

import "forge-std/Script.sol";
import "/MyContract.sol";

contract MyScript is Script {
    function run() public {
        vm.startBroadcast();

        new MyContract(
            address(0),
            address(0),
            address(0),
            0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f,
            0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
        );

        vm.stopBroadcast();
    }
}

Contract:

contract MyContract {
    address public immutable var1;
    address public immutable var2;
    address public immutable var3;
    address public immutable var4;
    address public immutable var5;

    constructor(
        address _var1,
        address _var2,
        address _var3,
        address _var4,
        address _var5
    ) {
        var1 = _var1;
        var2 = _var2;
        var3 = _var3;
        var4 = _var4;
        var5 = _var5;
    }
}

Command:
forge script ./script/MyScript.s.sol --rpc-url <rpc>  --private-key <pk>  -vvvv;

Output:
[⠒] Compiling...
[⠑] Compiling 1 files with 0.8.16
[⠃] Solc 0.8.16 finished in 534.70ms
Compiler run successful
Traces:
  [131496] MyScript::run()
    ├─ [0] VM::startBroadcast()
    │   └─ ← ()
    ├─ [74726] → new <Unknown>@0xcF4f8E9A113433046B990980ebce5c3fA883067f
    │   └─ ← 369 bytes of code
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    └─ ← ()

Script ran successfully.

## Setting up (1) EVMs.
==========================
Simulated On-chain Traces:

  [136778] → new <Unknown>@0xcF4f8E9A113433046B990980ebce5c3fA883067f
    └─ ← 369 bytes of code

==========================
Chain 42161
Estimated gas price: 0.1 gwei
Estimated total gas used for script: 1841715
Estimated amount required: 0.0001841715 ETH
==========================

SIMULATION COMPLETE. To broadcast these transactions, add --broadcast and wallet configuration(s) to the previous command. See forge script --help for more.

But if I change the script to:
pragma solidity ^0.8.13;

import "forge-std/Script.sol";
import "/MyContract.sol";

contract MyScript is Script {
    function run() public {
        vm.startBroadcast();

        new MyContract(
            address(0),
            address(0),
            address(0),
            address(0),
            0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
        );

        vm.stopBroadcast();
    }
}

The deployed contract name is resolved:
## Setting up (1) EVMs.
==========================
Simulated On-chain Traces:

  [136538] → new MyContract@0xcF4f8E9A113433046B990980ebce5c3fA883067f
    └─ ← 369 bytes of code

==========================

Expectation:
It should show new MyContract@0xcF4f8E9A113433046B990980ebce5c3fA883067f instead of new <Unknown>@0xcF4f8E9A113433046B990980ebce5c3fA883067f

I'm trying to debug the Forge source code to have more hint about what is happening and what I've been observing so far in a problem when decoding the script trace.
cli/src/cmd/forge/script/mod.rs
impl ScriptArgs {
    pub fn decode_traces(
        ...
    }
}

In the case where the contract name is Unknown the contract isn't present inside decoder.contracts but only the Script contract name. Otherwise, when MyContract is resolved, it's getting added inside decoder.contracts
For example, when iterating decoder.contracts:
0x5b73c5498c1e3b4dba84de0f1833c4a029d90519, "/home/user/hello_foundry/script/Script.s.sol:CounterScript"
versus:
0x1fa02b2d6a771842690194cf62d91bdd92bfe28d, "/home/user/hello_foundry/src/MyContract.sol:MyContract"
0x5b73c5498c1e3b4dba84de0f1833c4a029d90519, "/home/user/hello_foundry/script/Script.s.sol:CounterScript"

Update:

The problem seems to be the diff matching here. In the case where the contract is Unknown, it's because it's not getting matched here.

Just saw this, seems like this is the problem here.

Ah interesting. It could be possible that the diff score is higher than expected because of the heavy usage of immutables, which get inlined in the bytecode. @joshieDo this seems like an interesting edge case, if you have a solution top of your mind. @0xCalibur what is the value returned by diff_score here? maybe we can tune it up a little bit

Thx @gakonst for looking this up!
score: 0.8373983739837398 when the constructor args are address(0), address(0), address(0), 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f, 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
score: 0 when they are all address(0)

Now that we have sourcemap parsing, we could just check the sourcemap and get the name and look it up. That may be the most reliable (but requires knowing import statements as well in the case that there is a renaming).

I am also having this issue running the deploy script in the ArtGobblers repo with the ChainlinkV1RandProvider contract.
It generates the following in the run-latest.json:
{
  "hash": "0xfde96ba37a6f889a63cc99d0a7923ed798b108d1657c125011b88e38df1a55f3",
  "transactionType": "CREATE",
  "contractName": null, // <---
  "contractAddress": "0x38628490c3043E5D0bbB26d5a0a62fC77342e9d5",
  "function": null,
  "arguments": null,
  "transaction": {
    "type": "0x02",
    "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
    "gas": "0x7ad72",
    "value": "0x0",
    "data": "0x....",
    "nonce": "0x1f2",
    "accessList": []
  },
  "additionalContracts": [],
  "isFixedGasLimit": false
},

Having the same bug under pretty much same circumstances. A temporary workaround seems to be removing the cache folder.

Unable to reproduce with @0xCalibur's example, now correctly yields:
Traces:
  [110432] MyScript::run()
    ├─ [0] VM::startBroadcast()
    │   └─ ← [Return]
    ├─ [74726] → new MyContract@0x90193C961A926261B756D1E5bb255e67ff9498A1
    │   └─ ← [Return] 369 bytes of code
    ├─ [0] VM::stopBroadcast()
    │   └─ ← [Return]
    └─ ← [Stop]

The ArtGobblers repo mentioned by @colinnielsen now correctly yields:
"contractName": "ChainlinkV1RandProvider"

There have been significant improvements around this since the ticket was raised (cc @klkvr) so I'm assuming it has been fixed.
Feel free to re-open the ticket if any of you run into this problem again.
For now - marking as resolved


Auto PR

I can't for the life of me get auto to work with GitHub actions. What am I missing here? I am new to this library. I set the env variables and followed the steps, but no dice...

Are you using the auto action by any chance? https://github.com/marketplace/actions/auto-action
Also I'm not sure if you're currently using it or not but I've found this helpful to test GitHub actions locally: https://github.com/nektos/act

Yeah, I tried it but it seemed outdated (it was saying I had the wrong auto version.) I made my own git action but that doesn't seem to do it either.
Looks like the problem lies with auto. When I run auto shipit locally, it just says "will not publish". I'll have to keep investigating...
Thanks for the tip there! I'll def try that out.


Night clouds should be darker

I think clouds at the night are quite bright. They should be darkened.

Any picture?
Turn down the Cloud Bright Multiplier in config screen should be fine.

Yup, it's better a bit, thanks. I played with the configs.


feat:Don't compress server files

When building nuxt in universal mode, skip assets compression for the server since they wont be used by nodejs.

Oh cool! Good idea, I'll take a look at this over the weekend

Hey @robcresswell,
any news on this one?
Thank you very much and have a great day!
Best wishes
Tom


Issue 946 - Add ability to set default list property to an empty list

Resolves #946

Approved pending suggested change.


Documentation Fixes

The documentation reads a little funky.  The last few sections need some updates.  Maybe an approach that includes more examples would be better.

I believe that some of the example are also outdated. I will try to fix this ASAP.

I introduced the installation instructions to Carthage and CocoaPods. I also fixed the basic example.


Fix for Ruby 1.9.1

This is mentioned in an issue in your repo, but the link to the commit fixing it in someone elses fork has gone.

I've just stumbled with this problem, and seems like the fix you made, doesn't work. The issue, is that Dir.chdir accepts a block with one argument (the path from the new dir). So, the problem with setting the block argument to name, is that it will try to get a config named with the changed path, not the passed name. Therefore, the fix should be something like:
do_get = lambda do |path|
  command('config', ['--get', name])
end

Or with the 1.9 block syntax:
do_get = ->(path){command('config', ['--get', name])}

I've added a new pull request, see #35.

Ah OK, thanks :) I'll close this and trust that your change is the right one ;)


Create User in admin

You should know that we have a default password (str_random) because of the not null value in the database.
We will have to modify it later when there will be the automatic generation of the password of a user when it will be registered directly in the BO.

We have to talk together about this !

Peut etre serait-ce mieux de mettre
route '/users/create' au lieu de '/users-create' afin d'etre comme tout le monde

For the routes, we have to make the point to do all the same but actually the official doc is like you!


Chromium will crash in the middle of the testing

This problem happen because of html correlation issue. It has been fixed


Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20<EMAIL_ADDRESS>

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20<EMAIL_ADDRESS>For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

https://github.com/Azure/login/releases/tag/v2.0.0 was released recently with a Nodejs 20 upgrade. Can we get this action upgraded as well please @BALAGA-GAYATRI?

PR merged

Normally fixed by #69


fix(hass): remove state_topic from covers

Fixes #1343
cc @darootler @bushvin

Pull Request Test Coverage Report for Build 941949748

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-11.02%) to 19.706%

Totals

Change from base Build 939710452:
-11.02%

Covered Lines:
3608

Relevant Lines:
19417

💛  - Coveralls


Android: Allow custom Typeface to be added ReactInstanceManager

Attached PR adds support for custom, non-system fonts in Android applications.  It also adds a demonstration of this capability in the Android UIExplorer application.
Android doesn't have an equivalent to iOS's approach, where you can add fonts to your application's resources and they are automatically available by their font-family name.  In fact, Android doesn't have any "global" mechanism to provide fonts in an application that are available by their name.  So, the approach taken here is a reasonable platform-specific solution given the disparity in this area between iOS and Android.
To add a custom font, you register a Typeface object on your ReactInstanceManager.Builder, like this:
    mReactInstanceManager = ReactInstanceManager.builder()
        .setApplication(getApplication())
        ...
        .addTypeFace("DancingScript",
            Typeface.createFromAsset(getAssets(), "DancingScript-Regular.ttf"))
        .build();

And this allows you to use the font, like this:
<Text style={{fontFamily: 'DancingScript'}}>
    Custom font loaded from an application asset TTF file
</Text>

Internally, I've created an interface called a TypefaceProvider that is provided by the ReactContext, and then can be passed through to any text-related view manager to retrieve fonts.  The existing caching behavior that was in CustomStyleSpan has been preserved and moved to TypefaceProviderImpl, augmented with the ability to reference the typefaces that have been added to the react instance manager.  I don't love the fact that the TypefaceProvider needs to be passed around so much, but it seems like something would need to be passed into the text view managers to accomplish this without using global state, so I can't think of a better approach.
Would resolve #2919.

Looks neat! Hope this will be merged. The "custom typeface" problem on Android is very annoying. Thanks for your effort

+1

Closing this PR; equivalent functionality has been added in bfeaa6a4f531cfc18c097bc9ffb6a8dbe3ddc702.


Newman not working with Node.js v0.12.0

After just calling plain old newman -c collection.json -e environment
/usr/local/lib/node_modules/newman/node_modules/jsdom-nogyp/lib/jsdom/level1/core.js:554
Array.prototype.splice.call(this._childNodes, refChildIndex, 0, newChild
^
TypeError: Cannot set property length of [object Object] which has only a getter
at Object.core.Node.insertBefore (/usr/local/lib/node_modules/newman/node_modules/jsdom-nogyp/lib/jsdom/level1/core.js:554:30)
at Object. (/usr/local/lib/node_modules/newman/node_modules/jsdom-nogyp/lib/jsdom/level2/events.js:314:20)
at Object.proto.(anonymous function) [as insertBefore] (/usr/local/lib/node_modules/newman/node_modules/jsdom-nogyp/lib/jsdom/utils.js:23:26)
at Object.core.Node.appendChild (/usr/local/lib/node_modules/newman/node_modules/jsdom-nogyp/lib/jsdom/level1/core.js:672:17)
at /usr/local/lib/node_modules/newman/node_modules/jquery/dist/jquery.js:4006:18
at /usr/local/lib/node_modules/newman/node_modules/jquery/dist/jquery.js:4026:3
at module.exports (/usr/local/lib/node_modules/newman/node_modules/jquery/dist/jquery.js:31:12)
at Object. (/usr/local/lib/node_modules/newman/src/utilities/PreRequestScriptProcessor.js:6:48)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)

This issue has been fixed in version 1.2.12 of Newman. Can you upgrade and confirm?

Updated and the error is gone. Thank you!


build_runner command generates inject files for all the dart files in project

the command flutter packages pub run build_runner build --delete-conflicting-outputs generates inject files for all the .dart tiles in the project, I am new to flutter and would appreciate if I can get more detail on why it is generating files for all .dart files

Hi @codemeall,
It was due to inject_generator file and the library I was using for DI. I have updated the library to Injectable and now its not generating files for all .dart files.
Thanks.


Quickly clear selection

Is your feature request related to a problem? Please describe.
Cannot be cleared quickly after selection
Describe the solution you'd like
Add a clean selection button to the main interface
Describe alternatives you've considered
No response
Additional context
No response

Open the selected files, then there is a "Delete All" button

Open the selected files, then there is a "Delete All" button

I'd like it to be simpler, like being able to quickly handle additions, deletions and edits on the same page.

I join @chenxuan353 on this issue. Whilst having to click "only one more" button isn't that bad, it would be better UX if it was directly next to the Add / Edit buttons.
After refreshing myself on Flutter I managed to add the desired button (Mostly copy-pasted the existing one). Here's the current iteration:

Now I'd like feedback from @Tienisto and the community on where/how to display and implement this button.
My screenshot above is what I personally feel to fit the best. But we can have a different color:

We could also not space it from the other buttons:

Or even make it an icon button ?
I'd advocate for it to be spaced from the other buttons though. From a UX stand point I feel it is bad to have a "destructive" action right next to others, it would be bad for the user to miss-click on it.
I'll open a PR once a design is agreed upon.

I have received a similar user request that I also quite like:

Hi, thanks for your reply @Tienisto . Here's my latest iteration following your message:
https://github.com/localsend/localsend/assets/38408878/0f05dd53-e055-4a96-b5ba-65d4903b6a36

@chenxuan353 I think you can close this issue :)

Thank you!


Entering values onto nodes: input not aligned with field provided.

When you create a string or Int node and try to add a value in the node, the characters you type are not aligned with the actual input field provided. The input characters are showing up "above" the actual input field. See attached screen shot.

When you click on "Settings" (the wrench in the toolbar), look for the "Node Graph Render Settings", there you find the setting "Node Font Offset" to correct for this.

Currently, the option above is the only way to get a decently looking graph representation.
There seems to be a lot of magic happing which influence the actual size of a font on the screen. And every OS seems to be doing this magic a little bit differently. I tried hard-code presets for all operating systems but once I realized that my Windows tablet does things totally different than my Windows desktop, I decided to put that part into the hands of the users.
If you know a way to query the information necessary to do this automatically from the OS, please let me know.


Add support for different feed types

This API was assuming that we could translate bytes from public keys to full feed identifiers (with the ed25519 feed type), which isn't possible with other feed types. I've just removed all parts of the API that depend on an implicit feed type, but I'm assuming that we need some of them? I'm looking for input on which exports we can safely remove. The removed exports are:

parseLegacyInvite()
parseInvite()
feedIdRegex
toAddress()

@christianbundy I would like to help review this. Can you bring the PR up to date with latest master? :)

This invite parsers could be moved into ssb-invite I guess?
I think if you're wanting to generalize then don't we need to come up with a new flexible format?


devise_mapping renders _users if namespace_name is an empty string

replaced compact with reject(&:empty?) because compact only checks for nil but empty does both.

@MitchellGeere Sorry, but you are wrong, nil doesn't have an empty? method defined, check that in travis


get-started-go.go missing

I just wanted to try that out!
Step 2 says go run get-started-go.go but there is no file get-started-go.go.
Am I missing something?

@tbrodbeck getting same error

I got the same error


Reposition and optimize token images

What is the purpose of the change
Token images are currently not standardized in positioning nor optimized. This PR repositions/edits token icons to follow icon keylines, and then was optimized by using ImgOptim at 80% quality.
ClickUp Task
n/a
Brief Changelog

Reposition to standardize most token icons to fit within icon keylines
Run ImageOptim at 80% to minimize file size
Standardize all token sizes to 200x200px

Testing and Verifying

Verified by checking preview link

Documentation and Release Note
n/a

Thanks for doing this!

FYI next.js optimizes images for us at build time, but it doesn't do anything to SVGs. So trimming SVGs of detail should improve performance.

After reviewing, I'm seeing that this ruins most of the images. I recommend we do not proceed with this
regarding: -Reposition to standardize most token icons to fit within icon keylines
It looks like some non-circular token logos been shrunk to fit inside a circle and sometimes have had the extra background space filled in the same color as the original background was. This was not applied consistently at all.
-I'd like to ask: is this something we want to enforce? Many token logos either are an irregular shape, but all of it's opaque content fits within an inscribed circle. And then there are token logos that are irregularly shaped or are perfectly square that have opaque content beyond the inscribed circle; do we want those to be shrunk such that they would fit inside a circle? Do we want 0 transparency within the circle?
regarding: -Standardize all token sizes to 200x200px
This was not applied consistently at all. However, if 200x200 is a good size, then I can start encouraging or personally re-create token logos to be exactly this size for the frontend going forward.
It also inconsistently applies a padding on token logos which will shrink the token logos, so we'll have tokens appear to be different sizes because of the transparent padding on some of them. We should aim to have 0 additional padding.

Stale


[JEDI] Update tutorial-postgresql-azure-postgresql-online.md

One of the JEDI requirement is to encrypt data in transit. With new dpeloyment we are encrytping our data disk as we store customer data dumps during migration. I will do the same for other PostgreSQL tutorials.

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

Hi @neetusingh-ms - I have sent you email about this PR. Thanks

@neetusingh-ms - Microsoft authors and contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you review staging and fix all validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
Read about authors working in the public repo for more information.  If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
We'll close this PR. Thank you.


Use WHERE ... IN for simple Wherehas() and Has() constraints

I already posted this as part of #3543 and #5328, but I probably should have known better than adding it to a closed issue. Thus, I'm opening a new one.
The issue is that the has() and whereHas() constraints in the eloquent query builder creates code that can be very slow and results in nested table scans for seemingly harmless queries. I wrote some code that rectifies the issue for the most common use case and it would be nice to see it or something similar included in Laravel.
What is the problem?
Note: I'm only referring to Mysql not sure how other databases optimise things.
Look at the task of "Find all users that commented on any post belonging to a certain thread". (Assuming Post, Comment and User models with the obvious relationships).
User::whereHas('comments', function($q) use ($threadId) {
  $q->whereHas('post', function($q) use ($threadId) {
    $q->where('thread_id', $threadId);
  });
})->get();

The way laravel crafts the has(...) queries using correlated subqueries often results in nested full table scans. That is, a full table scan of users where every row triggers a full table scan of comments where again every row triggers a full table scan of posts. In short, once your database grows, you are dead.
However, the task itself would be much faster if we first get the set of posts, then get the set of comments and then get the set of users. Doing it this way the execution time only depends on the number of records actually involved but not the overall size of the database.
Currently there are only two ways to achieve this:

rewrite the whole thing using join statements and a final distinct.
do it manually in PHP by first pulling out the IDs of the sub-queries manually and passing them on to another query using the whereIn(..., array) method.

As far as Mysql 5.5 is concerned that is actually where the story ends.
Mysql 5.5 turns a  where ... in (select ...) statement into a where exists ... correlated subquery which again results in nested table scans.
However, Mysql starting from 5.6.6 has the "Semi Join" and "Materialization" optimisation strategies for where ... in (select ...) type queries. The former tries to resolve the query as a join type query. If that's not possible, the latter evaluates the sub-queries into temporary tables and takes it from there.
Thus, using where ... in (select ...) and Mysql 5.6 is the solution.
The patch
I wrote simple code that allows the has(...) method (which gets ultimately called by whereHas, orHas and all the other flavours) to take advantage of relationships that can craft a where ... in (select ...) constraint if the count value is >= 1.
I also included the constraint generating code for the HasOneOrMany, BelongsTo and BelongsToMany relationshipts. I didn't add the morphing ones because I'm not using them and thus cannot test them easily. But adding them should be straight forward.
The code is opportunistic in that it falls back to the old behaviour whenever the new where in facility isn't applicable.
I wrote and tested the code for Laravel 4.2, but as far as I can see there haven't been changes to this section of code in 5.0, so it should apply to both.
I apologise for not presenting a finished pull request. My own implementation in my project is by deriving from the relationship classes so I can leave the vendor folder unchanged. Thus, I'm simply pasting the relevant methods here.
\Illuminate\Database\Eloquent\Builder::has()
I added the big if block, the rest is unchanged.
	public function has($relation, $operator = '>=', $count = 1, $boolean = 'and', Closure $callback = null)
	{
		if (strpos($relation, '.') !== false)
		{
			return $this->hasNested($relation, $operator, $count, $boolean, $callback);
		}

		$relation = $this->getHasRelationQuery($relation);

		if ( (($operator == '>=') && ($count == 1)) || (($operator == '>') && ($count == 0)) ) {
			if (method_exists($relation, 'getWhereHasOneConstraints')) {
				$whereHasOneConstraints = $relation->getWhereHasOneConstraints($callback, $this);
				if (is_array($whereHasOneConstraints) && !empty($whereHasOneConstraints)) {
					return $this->whereRaw($whereHasOneConstraints['sql'], $whereHasOneConstraints['bindings'], $boolean);
				}
			}
		}

		$query = $relation->getRelationCountQuery($relation->getRelated()->newQuery(), $this);

		if ($callback) call_user_func($callback, $query);

		return $this->addHasWhere($query, $relation, $operator, $count, $boolean);
	}

Illuminate\Database\Eloquent\Relations\BelongsTo::getWhereHasOneConstraints()
	public function getWhereHasOneConstraints(Closure $callback, $parent) {
		$parentKey = $this->wrap($this->getQualifiedForeignKey());
		$selectKey = $this->wrap($this->query->getModel()->getTable().'.'.$this->otherKey);

		if ($callback) call_user_func($callback, $this->query);
		$this->query->select(new Expression($selectKey));

		return array(
			'sql' => new Expression($parentKey .' in (' . $this->query->toSql() . ')'),
			'bindings' => $this->query->getBindings(),
		);
	}

Illuminate\Database\Eloquent\Relations\HasOneOrMany::getWhereHasOneConstraints()
	public function getWhereHasOneConstraints(Closure $callback, $parent) {

		$parentKey = $this->wrap($this->getQualifiedParentKeyName());
		$selectKey = $this->wrap($this->getHasCompareKey());

		if ($callback) call_user_func($callback, $this->query);
		$this->query->select(new Expression($selectKey));

		return array(
			'sql' => new Expression($parentKey .' in (' . $this->query->toSql() . ')'),
			'bindings' => $this->query->getBindings(),
		);
	}

Illuminate\Database\Eloquent\Relations\BelongsToMany::getWhereHasOneConstraints()
	public function getWhereHasOneConstraints(Closure $callback, $parent) {

		if ($parent->getQuery()->from == $this->getRelated()->newQuery()->getQuery()->from) {
			// Table aliasing isn't implemented here. Return null to tell the caller to fall back
			// to the count query method.
			return null;
		}

		$parentKey = $this->wrap($this->getQualifiedParentKeyName());
		$selectKey = $this->wrap($this->getHasCompareKey());

		if ($callback) call_user_func($callback, $this->query);
		$this->query->select(new Expression($selectKey));

		return array(
				'sql' => new Expression($parentKey .' in (' . $this->query->toSql() . ')'),
				'bindings' => $this->query->getBindings(),
		);
	}

Wow, thanks, though could you please provide this as an actual PR please. Posing code in here is no use to us I'm afraid.

Ok, here you go. I pasted the code into a PR.

@kaymes, thank you, but you seem to have sent this to the wrong branch. Laravel 4.2 is closed for all non-critical fixes. Sending a PR to 5.0 would be preferred if you have the time. :)

@GrahamCampbell, here you go.

Taylor doesn't seem to like this change. I assume he thinks it's too hacky?

It's a real shame, in large projects you can't rely on whereHas method, you have to make a upfront query to get the IDs you want  (with massive join if you have to filter through other tables) PLUS on your returned results request -> you have to put some eager load filters (to match the join filter on your first query)
That's very hacky, and a simple whereHas on a 350K rows table take about 1.5sec to run on Mysql :/

+1

Closing as this was rejected by Taylor.

This decision is very frustrating