Device has error being added

A particle photon I have onboarded fine to start with, but after a 2nd remove, it stopped adding.
I tried the same code on another particle.  The Particle itself runs and is on Wifi just fine.
(I'm basically trying to build a motion sensor using a Particle Photon, PIR and your SW -- thought this would be a fairly simple exercise... and initially it was... but data from PIR wasn't making into characteristic... at least that's what it looked like)
I've checked the Particle events list... and it looks correct (see below) (I've removed my printouts which were interspersed).
homekit/close	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:56 pm
homekit/accessory	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:54 pm
homekit/accessory	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:53 pm
homekit/pair-verify	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:49 pm
homekit/pair-verify	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:47 pm
homekit/accept	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:47 pm
homekit/pair-setup	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:44 pm
homekit/pair-setup	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:39 pm
homekit/pair-setup	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:34 pm
homekit/accept	<IP_ADDRESS>	motion-1	3/16/20 at 6:46:34 pm
spark/device/diagnostics/update	{"device":{"system":{"uptime":2,"memory":{"total":82944,"used":38792}},"network":{"connection":{"status":4,"error":0,"disconnects":0,"attempts":1,"disconnect":0},"signal":{"rssi":-47,"strength":100,"quality":100,"qualityv":45,"at":1,"strengthv":-47}},"cloud":{"connection":{"status":1,"error":0,"attempts":1,"disconnect":0},"disconnects":0,"publish":{"rate_limited":0},"coap":{"unack":0}}},"service":{"device":{"status":"ok"},"coap":{"round_trip":101},"cloud":{"uptime":0,"publish":{"sent":4}}}}	motion-1	3/16/20 at 6:46:27 pm
I don't see any errors, but I get the following non-helpful screen on my iPhone.
(any thoughts?)
"

Can you please provide full sample or at least full log. My HomeKit logs a lot. A strongly believe, that you have a bug in device description. Connect Photon via USB and catch whole log.

0000036266 [homekit] INFO: Bonjour advertised
0000037268 [homekit] INFO: Bonjour advertised
0000038271 [homekit] INFO: Bonjour advertised
0000039274 [homekit] INFO: Bonjour advertised
0000040277 [homekit] INFO: Bonjour advertised
0000041280 [homekit] INFO: Bonjour advertised
0000042283 [homekit] INFO: Bonjour advertised
0000042284 [homekit] INFO: Client connected.
0000042285 [homekit] INFO: Request Message read length: 134
0000042286 [homekit] INFO: Handling Pair Setup...
0000042287 [homekit] INFO: State: 1
0000042287 [homekit] INFO: Homekit progress callback: 1
0000042287 [homekit] INFO: State_M1_SRPStartRequest
0000046194 [homekit] INFO: Homekit progress callback: 2
0000046194 [homekit] INFO: writeData responseLen:489
0000047197 [homekit] INFO: Bonjour advertised
0000048201 [homekit] INFO: Bonjour advertised
0000049205 [homekit] INFO: Bonjour advertised
0000050209 [homekit] INFO: Bonjour advertised
0000051213 [homekit] INFO: Bonjour advertised
0000052217 [homekit] INFO: Bonjour advertised
0000053222 [homekit] INFO: Bonjour advertised
0000054225 [homekit] INFO: Bonjour advertised
0000055228 [homekit] INFO: Bonjour advertised
0000056232 [homekit] INFO: Bonjour advertised
0000057236 [homekit] INFO: Bonjour advertised
0000058240 [homekit] INFO: Bonjour advertised
0000059244 [homekit] INFO: Bonjour advertised
0000060248 [homekit] INFO: Bonjour advertised
0000061252 [homekit] INFO: Bonjour advertised
0000062256 [homekit] INFO: Bonjour advertised
0000063260 [homekit] INFO: Bonjour advertised
0000064264 [homekit] INFO: Bonjour advertised
0000065268 [homekit] INFO: Bonjour advertised
0000066272 [homekit] INFO: Bonjour advertised
0000069277 [homekit] INFO: Bonjour advertised
0000070280 [homekit] INFO: Bonjour advertised
0000071283 [homekit] INFO: Bonjour advertised
0000072287 [homekit] INFO: Bonjour advertised
0000073291 [homekit] INFO: Bonjour advertised
0000074295 [homekit] INFO: Bonjour advertised
0000075299 [homekit] INFO: Bonjour advertised
0000076303 [homekit] INFO: Bonjour advertised
0000077307 [homekit] INFO: Bonjour advertised
0000078311 [homekit] INFO: Bonjour advertised
0000079315 [homekit] INFO: Bonjour advertised
0000080319 [homekit] INFO: Bonjour advertised
0000081323 [homekit] INFO: Bonjour advertised
0000082327 [homekit] INFO: Bonjour advertised
0000083331 [homekit] INFO: Bonjour advertised
0000084335 [homekit] INFO: Bonjour advertised
0000085340 [homekit] INFO: Bonjour advertised
0000086343 [homekit] INFO: Bonjour advertised
0000087346 [homekit] INFO: Bonjour advertised
0000088350 [homekit] INFO: Bonjour advertised
0000089354 [homekit] INFO: Bonjour advertised
0000090358 [homekit] INFO: Bonjour advertised
0000091362 [homekit] INFO: Bonjour advertised
0000092366 [homekit] INFO: Bonjour advertised
0000093370 [homekit] INFO: Bonjour advertised
0000094374 [homekit] INFO: Bonjour advertised
0000095378 [homekit] INFO: Bonjour advertised
0000095380 [homekit] INFO: Request Message read length: 587
0000095381 [homekit] INFO: Handling Pair Setup...
0000095382 [homekit] INFO: State: 3
0000095383 [homekit] INFO: State_M3_SRPVerifyRequest
0000095383 [homekit] INFO: Homekit progress callback: 3
0000099697 [homekit] INFO: Password is correct.
0000099697 [homekit] INFO: Homekit progress callback: 4
0000099698 [homekit] INFO: writeData responseLen:148
0000100701 [homekit] INFO: Bonjour advertised
0000100703 [homekit] INFO: Request Message read length: 289
0000100704 [homekit] INFO: Handling Pair Setup...
0000100705 [homekit] INFO: State: 5
0000100705 [homekit] INFO: State_M5_ExchangeRequest
0000100706 [homekit] INFO: Homekit progress callback: 5
0000100708 [homekit] INFO: wc_ChaCha20Poly1305_Decrypt: r:0
0000100708 [homekit] INFO: Persistor: resetPairings
0000100708 [homekit] INFO: Persistor: save
0000100709 [homekit] INFO: Persistor: adding key
0000100710 [homekit] INFO: Persistor: save
0000100712 [homekit] INFO: Persistor: key added
0000102217 [homekit] INFO: Homekit progress callback: 7
0000102218 [homekit] INFO: writeData responseLen:220
0000102218 [homekit] INFO: Pairing completed.
0000103221 [homekit] INFO: Bonjour advertised
0000103221 [homekit] INFO: Client connected.
0000103223 [homekit] INFO: Request Message read length: 167
0000103224 [homekit] INFO: Handling Pair Verify...
0000103225 [homekit] INFO: Homekit progress callback: 8
0000103225 [homekit] INFO: Pair Verify M1
0000104670 [homekit] INFO: Homekit progress callback: 9
0000104671 [homekit] INFO: writeData responseLen:220
0000105674 [homekit] INFO: Bonjour advertised
0000105676 [homekit] INFO: Request Message read length: 256
0000105677 [homekit] INFO: Handling Pair Verify...
0000105678 [homekit] INFO: Pair Verify M3
0000105678 [homekit] INFO: Homekit progress callback: 10
0000105679 [homekit] INFO: Persistor: key get
0000105679 [homekit] INFO: Persistor: key found
0000106694 [homekit] INFO: Pair verified, secure connection established
0000106694 [homekit] INFO: Homekit progress callback: 11
0000106694 [homekit] INFO: writeData responseLen:81
0000106695 [homekit] INFO: Persistor: save
0000106697 [homekit] INFO: Bonjour advertised
0000107700 [homekit] INFO: Bonjour advertised
0000107702 [homekit] INFO: Request Message read length: 69
0000107703 [homekit] INFO: Handling message request: accessories
0000107703 [homekit] INFO: Homekit progress callback: 12
0000107704 [homekit] INFO: Path: /accessories
0000107704 [homekit] INFO: Ask for accessories info
0000107707 [homekit] INFO: Accessories description len:704
0000107707 [homekit] INFO: Homekit progress callback: 13
0000107707 [homekit] INFO: writeEncryptedData responseLen:832
0000107808 [homekit] INFO: Response to: <IP_ADDRESS>, data:HTTP/1.1 200 OK
Content-Type: application/hap+json
~ontent-Length: 704
HTTP/1.1 200 OK
Content-Type: application/hap+json
Content-Length: 704
{"accessories":[{"services":[{"iid":1,"type":"3E","characteristics":[{"value":"Motion Sensor","perms":["pr"],"type":"23","iid":2,"format":"string"},{"value":"Particle + ebaugh","perms":["pr"],"type":"20","iid":3,"format":"string"},{"value":"Motion","perms":["pr"],"type":"21","iid":4,"format":"string"},{"value":"1","perms":["pr"],"type":"30","iid":5,"format":"string"},{"value":"1.0.0","perms":["pr"],"type":"52","iid":6,"format":"string"},{"perms":["pw"],"type":"14","iid":7,"format":"bool"}]},{"iid":8,"type":"85","characteristics":[{"value":"Motion Sensor","perms":["pr"],"type":"23","iid":9,"format":"string"},{"value":"true","perms":["pr","ev"],"type":"22","iid":10,"format":"string"}]}],"aid":1}]}
0000108815 [homekit] INFO: Bonjour advertised
0000108817 [homekit] INFO: Request Message read length: 171
0000108818 [homekit] INFO: Handling message request: pairings
0000108818 [homekit] INFO: Homekit progress callback: 12
0000108819 [homekit] INFO: Path: /pairings
0000108820 [homekit] INFO: 4
0000108820 [homekit] INFO: Delete user
0000108820 [homekit] INFO: Persistor: key exists
0000108821 [homekit] INFO: Persistor: key found
0000108821 [homekit] INFO: Persistor: save
0000108823 [homekit] INFO: Homekit progress callback: 13
0000108824 [homekit] INFO: writeEncryptedData responseLen:131
0000108924 [homekit] INFO: Response to: <IP_ADDRESS>, data:HTTP/1.1 200 OK
Content-Type: application/pairing+tlv8
~ontent-Length: 3
HTTP/1.1 200 OK
Content-Type: application/pairing+tlv8
Content-Length: 3
0000109928 [homekit] INFO: Bonjour advertised
0000109929 [homekit] INFO: Client removed.
0000110932 [homekit] INFO: Bonjour advertised
0000111935 [homekit] INFO: Bonjour advertised
0000112938 [homekit] INFO: Bonjour advertised
0000113941 [homekit] INFO: Bonjour advertised
0000114944 [homekit] INFO: Bonjour advertised
0000115947 [homekit] INFO: Bonjour advertised

That's a log captured via Serial (minus a few "Bonjour advertised" above and below.  Took me a few seconds to get code... that's why gap after starting to add..

Any ideas?  I've tried with other Particles.
Same results.
Tried changing code, Tried chaining serial #, Tried commenting out handle function (aside from return).  Still no luck.

Let me explain log:

Pair setup - creation of secure private and public key and it's exchange - it's ok
Pair verify - creation of secure connection between iPhone and Photon - it's ok
Accessories - iPhone asks Photon to describe itself as homekit accessory. Photon response is that JSON.

After 3. iPhone disconnects and remove pairing. I am 90% sure that homekit accessory description is invalid.

I've checked the accessory JSON and at first look, you are definining characteristics with value:true and format:string.. seems strange

Look into the documentation 8.23 Motion detected should be defined with format - bool

I just now have time to write a final comment.
You were 100% correct.  I had some some debugging while waiting for your response and stumbled over the info about the value of the parameter.   I reached the answer right around the same time you replied 👍
It definitely wasn't clear what the issue was... Homekit didn't give a very good error message.  Now I know to spend a lot of time reviewing the documentation when I get errors like this.  It was lack of experience debugging using this framework.
Thanks so much for the info... and helping me sort this out (and confirming that what I thought was issue matched with your thoughts!!


Support Environment variable values in ingestion spec

Fix #6115
The order of substitution would be,

PropertyFile
Environment values
Command line arguments

This is amazing! Thanks for the contribution.

Codecov Report

Merging #9065 (70d36b0) into master (83410f6) will decrease coverage by 54.69%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #9065       +/-   ##
=============================================
- Coverage     70.09%   15.40%   -54.70%
+ Complexity     4741      170     -4571
=============================================
  Files          1831     1783       -48
  Lines         96428    94328     -2100
  Branches      14413    14175      -238
=============================================
- Hits          67591    14528    -53063
- Misses        24169    78762    +54593
+ Partials       4668     1038     -3630

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
15.40% <0.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@ravishankar15 Could you please also help revise the pinot documentation for this part: https://docs.pinot.apache.org/configuration-reference/job-specification
The source code for the documentation can be found here: https://github.com/pinot-contrib/pinot-docs

@ravishankar15 Could you please also help revise the pinot documentation for this part: https://docs.pinot.apache.org/configuration-reference/job-specification The source code for the documentation can be found here: https://github.com/pinot-contrib/pinot-docs

Yeah sure, Documentation PR: https://github.com/pinot-contrib/pinot-docs/pull/106


Ubuntu 22.04 support?

Hello. I want to install Sysmontask on my laptop, which will have Kubuntu 22.04 once it is repaired. Can you please add support while I go repair my laptop?

Yep. failing with below error for Ubuntu22.04 version.
Any possible quirks???

E: The repository 'https://ppa.launchpadcontent.net/camel-neeraj/sysmontask/ubuntu jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

It is because KrispyCamel did not yet put a 22.04 build on launchpad. Compiling yourself should work though, I'm gonna do that with my custom OS project

@satheesh-kk The workaround I tested  with compiling yourself works pretty well, on Pop OS 22.04, you don't even have to install dependencies if I remember correctly

I compiled from source on 22.04 but it is missing a large chunk of processes (rendering it pretty useless) including chrome.  gnome-system-monitor displays them properly (as does htop, top) but sysmontask doesn't list them.  I don't know if this is localized to something that changed b/w the 21.x releases and 22.04, but I can't use it like this as it was a chrome process I needed to kill b/c it had gone rogue and was eating up all my processor time.  I see that @IrenvanderBeekPXL responded above so perhaps they could address this and/or let me know if it should be entered as a bug.

I am not a maintainer of this project, but I have seen this issue too. Your apps are generally listed as a subprocess of gnome-shell (and on my system that is listed as a subprocess of systemd). I don't think this is a bug though since it shows the tree of processes.

For python noobs (like me; running Ubuntu 22.04) ...
Steps to download and compile:
Go to releases and download the *.tar.gz file of the desired version (eg, on 9/2/2024 I downloaded SysMonTask-1.x.x.tar.gz
Perform the following steps:
cd directory_where_tar.gz_file resides

tar -xzf SysMonTask-1.x.x.tar.gz
cd SysMonTask-1.x.x
sudo python3 setup.py build
sudo python3 setup.py install

NOTE: if sudo python3 setup.py build generates the No module named 'setuptools' message then run the following command before trying to run sudo python3 setup.py build again:
sudo apt-get install python3-setuptools

Verify installation:
$ type -a sysmontask
sysmontask is /usr/local/bin/sysmontask


Error "The current environment does not support the specified persistence type." is shown when StyledAuthComponent is used in electron app

I am trying to use StyledAuthComponent in an electron app.
The error
M {code: "auth/unsupported-persistence-type", message: "The current environment does not support the specified persistence type."}

is shown.
I have created a project to reproduce the error. The following steps can be used to reproduce the error
git clone https://github.com/iaaflaafc/react-firebaseui-error.git
cd react-firebaseui-error/
npm install
npm run dev

Electron is not currently officially supported by Firebase Auth. It is currently treated as a node.js server environment. In node.js server environment, only in memory persistence is supported.

Thanks for replying.
I have a follow-up question.
In the code, I am not explicitly setting authentication state persistence mode.
By default, the persistence type should be set to firebase.auth.Auth.Persistence.NONE in the case of Electron ( as it is treated as a node.js server environment ).
I tried setting persistence to firebase.auth.Auth.Persistence.NONE using firebase.auth().setPersistence(firebase.auth.Auth.Persistence.NONE) but it did not seem to make any difference and error is still being shown.
My question-
Is there any way to set the appropriate persistence mode so that this error is not shown?

Hmm, not sure why this is happening. For now, you don't have to set it explicitly. The default and only available behavior should apply. Will try to look into this when I have time to setup an electronjs app.

Forgot to give an update on this. Electron is not officially supported (we haven't directly tested that environment). What is happening here is that the underlying firebase-auth SDK is mistaking Electron environment with a Node.js environment where only "In memory" persistence is supported.

I came up with a monkeypatch workaround for anyone else that hits this issue:
// HACK to trick firebase into allowing persistence in electron
if (typeof window !== 'undefined') {
  var orig = firebase.INTERNAL.node
  delete firebase.INTERNAL.node
  firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
  firebase.INTERNAL.node = orig
}

The browser detection in Firebase doesn't account for electron. It thinks electron is node, and therefore disables the LOCAL persistence option. Should be a really easy fix

@maxogden Thanks for posting this Max! It doesn't work for me. I'm building and Electron app that accesses Firestore. I'm setting up sign-in in a new window. In the auth.js page I put your above code right below the firebase.initializeApp(config); line. Am I doing anything wrong on missing a step? Thank you!

@locohost Ahh sorry I haven't tested with firebaseui. I'm just using require('firebase'). I guess both firebaseui and firebase use the same Firebase Auth module, but I found this issue via google. You could try never doing firebase.INTERNAL.node = orig;, but I'm not sure if that will mess anything up.

Thank you @maxogden ! I got some other firebase.auth stuff working. Seems like a lot of firebase shi..stuff just doesn't want to work in Electron.


[BUG] misleading samples mentioning classes IndexSettingsBody and PutSettingsRequest that do not exists

What is the bug?
according to https://opensearch.org/docs/latest/clients/java/#creating-an-index there should be a class IndexSettingsBody and PutSettingsRequest but they do not exist
How can one reproduce the bug?
create a new java spring boot application using initializr and add the following dependencies
implementation 'org.opensearch.client:opensearch-rest-client:2.7.0'
implementation 'org.opensearch.client:opensearch-java:2.4.0'

implementation 'software.amazon.awssdk:apache-client:2.20.26'
implementation 'software.amazon.awssdk:sdk-core:2.20.26'
implementation 'software.amazon.awssdk:regions:2.20.62'

What is the expected behavior?
that all classes are found in order to get the sample code running
What is your host/environment?
opensuse thumbleweed 20230414
Do you have any screenshots?

Do you have any additional context?
both aforementioned classes couldn't be found in this github repository at all

apparently it is was as "simple" as changing the code to

but for the love of it - I'm not able set analyzer and charFilter - is there any way to change the request body using this client ?
or maybe someone can help me understand how to properly use this API
all I want to achieve is sending this
{
    "settings": {
        "analysis": {
            "analyzer": {
                "default": {
                    "filter": [
                        "lowercase",
                        "asciifolding"
                    ],
                    "char_filter": [
                        "underscore"
                    ],
                    "type": "custom",
                    "tokenizer": "standard"
                }
            },
            "char_filter": {
                "underscore": {
                    "mappings": [
                        "_ => -",
                        ". => -"
                    ],
                    "type": "mapping"
                }
            }
        }
    }
}

I'd be happy to update the documentation - but I've only solved the first half of the problem so far
I still need to know how I can set the analyzer and charFilter properly

Hi @peter-ponzel, here's an example of how to set the analyzer and charFilter based on your input data:
  CustomAnalyzer customAnalyzer = new CustomAnalyzer.Builder().filter(Arrays.asList("lowercase",
          "asciifolding")).charFilter(Arrays.asList("underscore")).tokenizer("standard").build();
  Analyzer analyzerType = new Analyzer(customAnalyzer);
  Map<String, Analyzer> analyzer = new HashMap<>();
  analyzer.put("default", analyzerType);

  MappingCharFilter mappingCharFilter = new MappingCharFilter.Builder().mappings(Arrays.asList("_ => -",". => -")).build();
  CharFilterDefinition charFilterDefinition = new CharFilterDefinition.Builder().mapping(mappingCharFilter).build();
  CharFilter charFilterType = new CharFilter.Builder().definition(charFilterDefinition).build();

  Map<String, CharFilter> charFilter = new HashMap<>();
  charFilter.put("underscore", charFilterType);

  IndexSettings indexSettings = new IndexSettings.Builder()
          .analysis(new IndexSettingsAnalysis.Builder().analyzer(analyzer).charFilter(charFilter).build()).build();

Thanks for bringing up the issue with the documentation, will get a PR in place to fix that.

hello @harshavamsi thank you so much - this is very helpful


Best way to use C# library in IronPython VS shell

I have a solution with an IronPython project and a C# library project. Working with the IronPython project, I make heavy use of IronPython Interactive shell inside Visual Studio. Referecing C# lib in the IronPython project won't make it load automatically into the Interactive shell. Instead, I have to use clr.AddReferenceToFileAndPath and supply machine-specific full path to the DLL that I actively develop. I am aware that can be done automatically by adding a startup script to the interpreter, but that is somewhat unsatisfying and will affect any solution using the Python environment. Is there a best practice to this?

This might be a better question to ask on the IronPython mailing list, but generally what you would do is specify a search path (via IRONPYTHONPATH environment variable - but ask on the list as they probably have better ways to do it when you are hosting) and then you should not have to use the full path to import the DLL.


docs: adding dart frog auth docs to the site

Status
READY
Description
Moves the documentation written in the Dart frog auth README to the docs so it is available in the official documentation.
Type of Change

[ ] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 Code refactor
[ ] ✅ Build configuration change
[x] 📝 Documentation
[ ] 🗑 Chore

one tiny comment, then LGTM


Missing .pt file

Hi. If I follow all  your cells and instructions in order, I get this once I reach the second cell of "Generate Single Images"
Using Alias-Free GAN version: 1.0.0
Invalid path /content/drive/MyDrive/colab-gpu-alias-free/alias-free-gan/results/training-000005/000145-epoch-checkpoint.pt is not a .pt model file.
I cannot find that file anywhere or any other .pt file for that matter.
Thanks.

Completely missed the rosinality pt file. I have it now. All good. Thanks and sorry for the trouble.

Oh that was just a checkpoint file I was using for testing. I didn't bothering sharing it as a sample because it's was only trained for a little while and it's the not a great model. Happy to share it if you like but you can also download rosinality's ffhq model here: https://aliasfreegan.sfo3.cdn.digitaloceanspaces.com/rosinality-ffhq-800k.pt
I'm still training a 1024 on wikiart landscapes so which I'll put up as the example model as soon as it's done.
Thanks for the feedback I'll try to put up a notebook where the default model works.

Do you have a timespan on how long the wikiart checkpoint will take to train? That sounds very interesting!

@tnoya001 Latest release has working notebook with rosinality model. https://github.com/duskvirkus/alias-free-gan/blob/stable/notebooks/GPU_Inference_Alias_Free_GAN.ipynb
@afiaka87 Who know's I'm guessing another week or two but I'm having problems with occasional mode collapse and it also depends on what gpus I get on colab for training.


Update README.md

Changes

We don't need to have separate divs for every element.

With div having the attribute align="center", we don't need to provide any attributes to the children separately, it will inherit properties from its parent.

remove the extra line (No- 21)

Hey! @schmelto this PRis open from 9 days :)

Hey! @schmelto this PR is open from 9 days :)

Yeah normally in our maintainer guidelines two maintainers have to approve the PR before merging. But I think I will merge this PR anyway. Sorry for any inconveniences.


Support printing the documentation

We should use @media print and @media screen inside our CSS file to provide a clean, paper optimised documentation, if printed.
For this, the navigation, header and footer should be removed. We may also need to unfold everything inside <details> and adjust some colours. However, it does not need to be black/white.

Apparently we can't unfold the details tags for printing only: To do that, we need to set the open attribute of the tag to true, which can't be done with CSS, and JS events that only trigger before printing are not widely supported.
We now have the options to:

always fold the code examples, without a way to view them in printed documents
always unfold them, and the user has to close them by hand
unfold them by default, but add a fold/unfold all button somewhere on the page
fold them by default, add a print this page button to the page, and let when that button is clicked, open all details; users that use ctrl-P instead of our button still see the folded version

Decided to go with "always fold the code examples, without a way to view them in printed documents" for now


Using a non default GoogleAnalyticsObject and allowing routed trackers

Fix #199

@cvan I made the code more restrictive when dealing with Do-Not-Track. My criteria is documented in the library and it's as follows:
/*
 * The main requirements when dealing with Do-Not-Track (DNT) are:
 *
 *  1. Not to break the API.
 *  2. Prevent explicit collection, storage and sending data if DNT is enabled.
 *  3. Only sessions where DNT is disabled for its entire duration are expected to send
 *     telemetry data.*
 *
 * Because some collection can happen implicitly when loading 3rd party libraries. It is
 * also nice to have preventing loading external libraries if DNT is enabled but it must be
 * done in a way not conflicting with the requirement 1.
 *
 * (*) In ther words: it is not required to resume collecting telemetry if DNT has been
 * disabled after the session started.
 */


make compatible with ParsedownExtra

for extended usage of parsedown library this markdown wrapper should wrap ParsedownExtra library!

Hi,
Please see my response in #6 and I might consider it. Thank you!
Best regards

Closing due to ParsedownExtra failing checks on TravisCI as pointed out by @lntn in #6.

thanks for your attention!


How to to produce both release and pre-release packages from one nuspec?

Currently my build produces both packages having a newer version every time:
Release: Automatic package versioning = Use the build number
Pre-release: Additional build properties = Version=$(user.BuildFullVersion)-beta

And the only one nuspec has a placeholder to version:
<version>$version$</version>

I want to increment version manually, that it - repetitive build would produce same version until I increment it manually.
How can I achieve that still having single nuspec?
Can I adjust package version in the pack tasks like this:
Release: $(PackageVersion) = $(PackageVersion)
Pre-release: $(PackageVersion) = $(PackageVersion)-beta

As per Marina at https://stackoverflow.com/questions/45601861/how-to-to-produce-both-release-and-pre-release-packages-from-one-nuspec-in-vsts/45607639 currently you don't support wildcard for custom nuget command. Can you please plan this? Currently for release I can have 1 task for all 10 projects but for pre-release I have to clone 1 task 10 times.

hi @bryanmacfarlane, what do you think about wildcard support? thanks.

@abatishchev,
Are you using hosted VSTS?  If so you should be able to add two v2.* nuget pack build steps to your build definition.  In each nuget pack build step, expand the section titled "Pack Options" and notice "Automatic Package Versioning"[1].  Here you can specify an environment variable and add the suffix (or not).  In the "Variables" section of your build you should create 2 variables PackageVersion and a composite called PackageVersionBeta.  In this manner, you can update a single variable and have it propagate.
Also, you may want to investigate Packaging Release Views.  With release views you can have a single version of your package and promote it through quality rings.   In this manner, you can progressively expose the package to a broader and broader set of consumers.
Finally, regarding "wildcard for custom nuget command" this is something that we will add in a future release.
Keith
[1]

hi @keithrob, not sure frankly what the term hosted VSTS stands for. Do you mean VSTS/VSO vs, on-prem TFS? We're using the microsoft.visualstudio.com instance.
Package version is kept into the nuspec file to avoid creating new version (two of them if include beta) on each build. Because this is a repo for shared components it includes several projects, each producing its own package based on its own nuspec.
In this scenario how can I produce beta/pre-release packages for all projects/nuspecs with a single task? I'm able to do that for release package:
 Path to csproj or nuspec file(s) to pack: **\*.nuspec
 Automatic package versioning: Off

Unfortunately Packaging Release Views won't work for us for now until support programmatic promotion.

@abatishchev,
I'm going to close this since you have a work-a-round.  As we discussed, offline, I believe that release views will be the best long term solution and I appreciate that we do not have the automation in place to make their usage easy at this point.  We are taking steps to make promotion to release views easier and more automated so that, in the future, you can simply use views and not worry about appending version suffixes.
Keith


Different outputs between pytorch, onnx and coreml

🐞Describe the bug
I'm training a neural network containing an embedding layer, a linear layer, a GRU, then followed with another linear and a logsoftmax. It's trained properly and exported as well to onnx and coreml. However, when I test (that is, computing a forward step with a dummy input) the three models (.pth, .onnx and .mlmodel), the pytorch and onnx models yield the same output but the coreml doesn't.
Trace
This is what happens when I compare the pytorch output vs the coreml output:
AssertionError:
Not equal to tolerance rtol=0.001, atol=1e-05

Mismatched elements: 98 / 100 (98%)
Max absolute difference: 0.53596115
Max relative difference: 0.1372321
 x: array([[-5.277452, -7.18906 , -3.870493, -5.237523, -5.697977, -4.906397,
        -5.19996 , -5.691385, -5.81255 , -5.201305, -5.705749, -3.767732,
        -5.457488, -6.338089, -6.073925, -5.906573, -5.663018, -6.57819 ,...
 y: array([[-5.169696, -6.974405, -3.716341, -5.348598, -6.07383 , -4.743478,
        -5.518433, -5.430327, -5.695125, -5.232084, -5.561243, -3.704498,
        -5.26874 , -6.728903, -6.277035, -5.768873, -5.754221, -6.781257,...

Unfortunately I can't attach the models since they belong to my company.
System environment (please complete the following information):

coremltools version: 3.4
onnx-coreml version: 1.3
OS: MacOS
macOS version (if applicable): 10.15.4
How you install python: virtualenv
python version: 3.7
any other relevant information:

Additional context
I deleted the GRU and adapted a bit the network and everything works out, so I guess there's an issue with it. The network receives as input also the initial hidden state. Also, the batch_first flag is set to false.
UPDATE
Ok so I simplified (a lot) the network and came up with the following script, which has the same issue I described above:
import torch as th
import torch.nn as nn
import torch.nn.functional as F
import numpy as np
import onnx
import onnxruntime
from onnx_coreml import convert

class NeuralNet(nn.Module):
    def __init__(self, input_size, output_size, embeddings_dim, hidden_layer):
        super(NeuralNet, self).__init__()

        self.embeddings = nn.Embedding(input_size, embeddings_dim)

        self.gru1 = nn.GRU(embeddings_dim, hidden_layer)

        self.fc_out = nn.Linear(hidden_layer, output_size)

    def forward(self, inputs, hidden):
        embedded = self.embeddings(inputs)

        outputs, hidden = self.gru1(embedded.transpose(1, 0), hidden)

        logits = self.fc_out(outputs.transpose(1, 0)[:, -1, :])

        log_outputs = F.log_softmax(logits, dim=-1)

        return log_outputs

def to_numpy(tensor, dtype=None):
    np_tensor = tensor.detach().cpu().numpy() if tensor.requires_grad else tensor.cpu().numpy()

    if dtype:
        return np_tensor.astype(dtype)
    return np_tensor

def export_to_onnx(net, x, hidden, torch_out):
    onnx_file_path = "net.onnx"

    # Export the model
    th.onnx.export(net,  # model being run
                   (x, hidden),  # model input (or a tuple for multiple inputs)
                   onnx_file_path,  # where to save the model (can be a file or file-like object)
                   input_names=['input', 'hidden'],  # the model's input names
                   output_names=['output']  # the model's output names
                   )
    onnx_model = onnx.load(onnx_file_path)
    onnx.checker.check_model(onnx_model)
    ort_session = onnxruntime.InferenceSession(onnx_file_path)

    # compute ONNX Runtime output prediction

    ort_inputs = {ort_session.get_inputs()[0].name: to_numpy(x), ort_session.get_inputs()[1].name: to_numpy(hidden)}
    ort_outs = ort_session.run(None, ort_inputs)
    # compare ONNX Runtime and PyTorch results
    np.testing.assert_allclose(to_numpy(torch_out), ort_outs[0], rtol=1e-03, atol=1e-05)
    print("Exported model has been tested with ONNXRuntime, and the result looks good!")

def export_to_coreml(x, hidden, torch_out):
    onnx_file_path = "net.onnx"
    coreml_file_path = "net.mlmodel"

    model = convert(model=onnx_file_path, minimum_ios_deployment_target='13')
    model.save(coreml_file_path)

    # compute CoreML output prediction
    output = model.predict({"input": to_numpy(x, np.float32), "hidden": to_numpy(hidden)})[
        'output']
    # compare CoreML and PyTorch results
    np.testing.assert_allclose(to_numpy(torch_out), output, rtol=1e-03, atol=1e-05)
    print("Exported model has been tested with CoreML, and the result looks good!")

if __name__ == "__main__":
    input_size = 60
    output_size = 100
    embeddings_dim = 10
    hidden_layers = 8

    net = NeuralNet(input_size, output_size, embeddings_dim, hidden_layers)

    x = th.zeros((1, 60), dtype=th.long)
    hidden = th.zeros(1, 1, hidden_layers)

    torch_out = net.forward(x, hidden)

    export_to_onnx(net, x, hidden, torch_out)
    export_to_coreml(x, hidden, torch_out)

Regarding this line:
output = model.predict({"input": to_numpy(x, np.float32), "hidden": to_numpy(hidden)})[
        'output']

I'm not sure if it makes sense to use an input of type Float, since the first layer is and embedding layer, but couldn't figure out the way to use a Long input in coreml.
UPDATE 2
As I said, if you remove the GRU everything goes well, that is, changing the network to:
class NeuralNet(nn.Module):
    def __init__(self, input_size, output_size, embeddings_dim, hidden_layer):
        super(NeuralNet, self).__init__()

        self.embeddings = nn.Embedding(input_size, embeddings_dim)

        #self.gru1 = nn.GRU(embeddings_dim, hidden_layer)

        self.fc_out = nn.Linear(embeddings_dim * input_size, output_size)

    def forward(self, inputs, hidden):
        embedded = self.embeddings(inputs)

        #outputs, hidden = self.gru1(embedded.transpose(1, 0), hidden)

        logits = self.fc_out(embedded.view(1, -1))

        log_outputs = F.log_softmax(logits, dim=-1)

        return log_outputs

Did you have time to look into this @aseemw ? Thanks


[Constant Evaluator] Enable SILConstants::setIndexedElement function to work with aggregates containing unknown values

Such aggregates can be generated when an instruction is skipped during constant evaluation and its results are used to create a struct.
rdar://107344820

@swift-ci smoke test


Material type inheritance for complexes

When applying a filter for dilution and degredation, it seems that ComplexSpecies() objects will inherit the material types of both their parent species.
For instance, if we create an object, ComplexSpecies([RBZ,mRNA])  and set dilution to True for RBZ, mRNA and set mRNA degredation to True, the resulting Complex will be both degraded and diluted. If we look at the source code (global_mechanism.py) we see why, for applying dilution and degredation for ComplexSpecies objects, apply_filter() will look at the species that make up the object.  Further, this results in conflicting degredation conditions results in an error e.g. Complex to False and RBZ or mRNA to True.
Ideally, this would be a decision the user could make on their own i.e. should dilution be applied based on ONLY complex material_type or based of all constituent material types through some kwarg.
I've attached a parameter txt and a code txt (just rename file extension to ipynb) which demonstrates this issue.
GHI_Demo.txt
params.txt

I could reproduce the error based on the example file. Thanks for sending it @mkratz

This will be fixed in my newest PR (which initially will go to the dev branch) and then be fixed in the next merging of dev into master at the end of the month.

I've checked the example attached to this issue with the code in #119, it no longer gives an error.

Hi @mkratz,  thanks for reporting this. This issue has been solved (thanks @WilliamIX! ) and the dev branch now contains the bugfix.
If you want to give a try, you can install biocrnpyler using the code from the dev branch:
https://github.com/BuildACell/BioCRNPyler/wiki/How-to-install-BioCRNPyler#installing-the-dev-branch


Source freshness on TIMESTAMP column fails

First and foremost: thanks @tglunde and everybody else who is developing and supporting this adapter :)
we have definied a freshness of a source view

The column in the view is of type TIMESTAMP

Running the source freshness tests results in an error

We are using the newest version of dbt-exasol
Does anyone has an idea, why dbt thinks, that DWH_LOAD_STAMP is of type string?
Are we doing something wrong or is it a bug?

Hi @matchaEis ,
thanks for opening the issue, we appreciate the feedback to improve our code.
Could you please check the dbt.log if you can find the statements causing this error? If possible just upload the log file.
Thx, Torsten

Hi @tglunde,
I should have uploaded the log file in the first place :)
dbt.log
select
max(DWH_LOAD_STAMP) as max_loaded_at,
current_timestamp() as snapshotted_at
from DWH_SAP_P01.BKPF
Thank you :) Max

published in 1.4.5


Restrictive field level auth rules don't impact codegen so queries end up failing

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v16.17.0
Amplify CLI Version
11.0.0-beta.4
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
no manual changes made
Describe the bug
I've added some field level auth rules to a model, and I'm wondering if I'm supposed to get a different output via codegen now that I have more restricted access patterns? I currently have getUser queries failing because the user client is not authorized to retrieve the full set of fields specified in the get query, I'm not sure if codegen was supposed to update my queries according to my field level auth rules, or if I have to manually define a query that excludes some of the fields in order to get things to work now.
A simplified version of my schema looks like this:
 type User @model @auth(rules: [{ allow: owner, ownerField: "cognito_id" }]) {
  cognito_id: ID!
    @primaryKey
    @auth(
      rules: [{ allow: owner, ownerField: "cognito_id", operations: [read] }]
    )
  cognito_email: String!
    @auth(
      rules: [{ allow: owner, ownerField: "cognito_id", operations: [read] }]
    )
  stripe_id: String
    @auth(
      rules: [{ allow: owner, ownerField: "cognito_id", operations: [] }]
    )
}

so the stripe_id field will not be retrievable (even for the currently authenticated user)
but when I run codegen my get query hasn't changed at all and i have
export const getUser = /* GraphQL */ `
  query GetUser($cognito_id: ID!) {
    getUser(cognito_id: $cognito_id) {
      cognito_id
      cognito_email
      stripe_id
      createdAt
      updatedAt
    }
  }
`;

As a result, when the client makes a getUser call, it fails because the user is not authorized to retrieve stripe_id.
I don't want it to fail, I just want it to return null.
The response I get from the api is:
{
    "data": {
        "getUser": {
            "cognito_id": "HERE-IS-THE-COGNITO-ID",
            "cognito_email": "HERE-IS-THE-COGNITO-EMAIL",
            "stripe_id": null,
            "createdAt": "2023-01-12T22:17:13.089Z",
            "updatedAt": "2023-01-12T22:18:08.329Z"
        }
    },
    "errors": [
        {
            "path": [
                "getUser",
                "stripe_id"
            ],
            "data": null,
            "errorType": "Unauthorized",
            "errorInfo": null,
            "locations": [
                {
                    "line": 6,
                    "column": 5,
                    "sourceName": null
                }
            ],
            "message": "Not Authorized to access stripe_id on type String"
        }
    ]
}

I posted this in the Discord channel and was told to submit a bug report

Expected behavior
If I add field level auth rules, and a field has doesn't allow any operations []; then the field shouldn't be included in the codegen auto-generated queries.
Reproduction steps
Use my example schema, and run codegen, then use the generated Get query to query the graphql api, the query will fail.
Project Identifier
No response
Log output

# Put your logs below this line

Additional information
As a workaround, I've been writing my own queries that exclude the fields (instead of using what codegen outputs).
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hi 👋, We are closing this issue as we have not received any response from you. However, if you are still facing the same issue and require our assistance, please don't hesitate to leave a comment. This way, we can reopen the issue and provide you with better assistance.
Thank you!

I didn't like the suggested error catching approach, so I ended up maintaining a separate customQueries.js file, that contains my getUser and updateUser query definitions.


Allow to specify a GitHub mirror for dependencies

Currently the dependencies (fargs, ycm, conan) are fetched from github. Unfortunately, this does not work in environments where github is only accessible via a mirror. Would it be possible to somehow parameterize the github mirror for these dependencies?
Or is it only possible to appy a patch to replace the dependent urls when calling FetchContent_Declare?

Couldn't you forward GitHub URLs on your side? Not having access to GitHub is unfortunate as many tools (not just project_options) rely on it.
PRs for adding options for the mirrors are welcome. It might be easier to maintain a fork with your special mirrors.

I also tried to forward it via /etc/hosts file, but I could not mange to forward https://github.com -> https://mycompany.corp/github-proxy/mirror/. As you mentioned, no access to GitHub complicate a lot of things. Do you have any suggestions how the forwarding would be possible on a linux machine?
I will think about a mirror option in case I cannot work out the forwarding.

you may try this: https://github.com/cpm-cmake/CPM.cmake#private-repositories-and-ci

Thanks for the link. But this works only for git right?
And I think
FetchContent_Declare(_ycm URL https://github.com/robotology/ycm/archive/refs/tags/v0.13.0.zip)
does not use git.

Take a look at this discussion. It shows how you can forward URLs in Linux
https://stackoverflow.com/questions/35370967/redirect-local-url-to-another-url

Sorry, our company rules are: no internet access on CI build.
this does not work on windows for us: https://github.com/aminya/project_options/blob/main/src/VCEnvironment.cmake#L70
Is this really necessary to use FetchContents?
Would it be possible to use CMP.cmake?
We have a local git mirror with selected git repos while build our SW projects on our CI.

Take a look at this discussion. It shows how you can forward URLs in Linux
https://stackoverflow.com/questions/35370967/redirect-local-url-to-another-url

@aminya This is not an option for because of our company rules!

This is not an option because of our company rules!

Your company rules are too strict. You would have a better chance to spawn a local HTTP server that returns your local files.

I am closing this issue as it is not related to project_options or any other tool that uses the internet. You have to fix the issues with proxy, forwarding, or local servers on your side.

I am closing this issue as it is not related to project_options or any other tool that uses the internet.

Sorry, it is related to your project!
This extremely limit the usability of this project.
I am searching for a solution:

you may not fetch zip archives but clone git repositories
you may use CPM.cmake to fetch git repos and we may fill the CPM_SOURCE_CACHE
you may document and supports for each external package you net to fetch the <dependency>_SOURCE_DIR  cmake variable, which is the path to the source of the dependency already installed on CI

The CMP.cmake package-lock is in general a good idea to have control, which external dependency are used while build!

@aminya see https://github.com/ClausKlein/project_options/pull/5

Well, the way you emulate the internet is not sufficient. Local git repositories are just a very small part of the internet. You should run a local HTTPS server that returns other parts of the internet like the zip files.
The whole point of modern package managers like vcpkg and Conan is to not rely on the Git repositories that are slow, untested, mutable, and error-prone.

I am not a friend of having such restrictions!
Our IT is given and may not changed or extended.
But we must have control what is need to build our SW.
We have to document and archive everything. (source, tools, build scripts, licence, ..)
And we want to reproduce a build if needed.

The original issue is about Conan, which uses the internet (not git). The only solution to emulate the internet locally is to run a DNS server as I explained in
https://github.com/aminya/project_options/issues/145#issuecomment-1249742470
Still, both problems are out of scope.

@lefticus @aminya The problem is common and perhaps solved bye CMake v3.24
dependency-providers


upgrade jane theme

https://github.com/xianmin/hugo-theme-jane/commit/1a145d884a8dc13ae0554eaecb1750ea2532219d
I don't like current version of Jane because

It doesn't have table of contents on a mobile site
https://github.com/xianmin/hugo-theme-jane/issues/350
https://github.com/xianmin/hugo-theme-jane/issues/343

I decided to stick with https://github.com/xianmin/hugo-theme-jane/tree/ef8a12657b0700f9acd693894597d50746365ed8 . I improved it with these changes.


Token Creation

What's our strategy for users to get tokens/projects?
Do we want to document the web interface and allow anyone to make an account and request?  Or do you prefer we point them to a person or a support page somewhere for now?
Definitely getting to the point that lots of people need to make these.  I'd love it if we could do this in the API - but would need some sort of user auth.

I did talk with Randal about this. There is a lot going on the admin side and the format in which we store data. Let us table this for now and once things have settled down we can look at the API capability.

Cool - so what should we tell people who want tokens?  Should there be
documentation to make an account and create tokens?  Should they ask
Kunal/Will/Alex?
Best,
Will
On Fri, Mar 6, 2015 at 7:45 PM, Kunal L<EMAIL_ADDRESS>wrote:

I did talk with Randal about this. There is a lot going on the admin side
and the format in which we store data. Let us table this for now and once
things have settled down we can look at the API capability.
—
Reply to this email directly or view it on GitHub
https://github.com/openconnectome/open-connectome/issues/11#issuecomment-77662461
.

With the new interface they will be able to register accounts on the admin interface. They can then create their own tokens. We should be out of the loop.

kl-d7


Update to Metabase 0.44.6

Would it be possible to have an update for metabase 0.44.6. It seems that Google made an unannounced deprecation that has affected "Sign in with Google" capability in metabase. Version 0.44.6 fixes this (relevant issue here: https://github.com/metabase/metabase/issues/26184).
I'm do not have a lot of experience maintaining helm charts so I don't quite know how to contribute myself. If you'd prefer that I contribute this change, any guidance on how to go about doing this would be welcome.

@zahir-koradia  I see no breaking changes from v0.44.3 to v0.44.6. So it's safe to run v0.44.6 with this chart, you can simply override the default value of image.tag in values.yaml to deploy your desired version.
Or if you want to contribute, simply bump the metabase & chart version, see similar PR #41

Thanks for the link the PR @pmint93. I've created a PR for this here: https://github.com/pmint93/helm-charts/pull/44


detached is called after deactivate

I'm submitting a bug report

Library Version:
1.5.0

Please tell us about your environment:

Operating System:
OSX 10.13.3

Node Version:
9.4.0

NPM Version:
5.6.0

Browser:
all

Language:
ESNext

Current behavior:
When I change the route to a different one, the deactivate is called before the detached methods from the child components. So if your components have do some cleanup, like cancel http pending requests, it will also cancel pending requests done by the new route.
Expected/desired behavior:
I'm not sure if the current behavior is the one expected by the framework, but I was expecting to have all the child components destroyed before the parent route being deactivate.

What is the motivation / use case for changing the behavior?
Not having actions of a component that is being detached, affecting things that are being created.

http://aurelia.io/docs/plugins/dialog#lifecycle-hooks
because you have to clean up anything atached to dom before detached

can be closed

Yeah.. I guess it is still right..
Sorry for misfire the 1st time.
activate() and deactivate() do  come from The Route Screen Activation Lifecycle
http://aurelia.io/docs/fundamentals/cheat-sheet#routing
and detached() and attached() - from component lifecycle.
So there is a possibility, that deactivate() won't succeed and your app won't actually navigate away.
Hence the order, I guess.
@EisenbergEffect, if I'm right then can be closed this time for real (-:

@Alexander-Taran yes your point make sense. But still maybe the lifecycle should be canDeactivate (router), detached (all components), deactivate(router).

A man can dream (-:
can you elaborate your use case?
I'm pretty sure it won't happen in 1.x because it is a breaking change.
But maybe you see something that was overlooked.

Both cases happened to me in the same application I was building, may be a special case, or a bad design from my side, but it worth listing.

User navigate away from route A. The child component has a pending request, it try to cancel the request on detached. Suddenly the requests done by route B are also cancelled. Because the route B activate method is also called before the detached from the child component of route A.

I had to use a lib named windy (windy.com) it is an overlay for leaflet. It offers great features, but the only way to use it, is by adding/removing the script programmatically every time you want to load it. I want my component to manage adding the script on attached, and removing it on detached. So when I'm in route A using this component, and move to Route B also using this component, I don't run into conflicts. However, route B loaded before the detached, therefore when Route B tries to load the component, it has an error that the script was already there.

@tbnovaes so activate is a completely separate lifecycle from attached and detatched. In this case, I think you're going to want to use the attached and detatched lifecycle, as activate and deactivate is more for preparing and cleaning up data and state. For this reason, detatched, removing the view from the dom, will always be called after deactivate.


Improve godoc support

Currently the backend repo has absolutely zilch godoc due to moving fast. We should add comprehensive docs for types and methods to support godoc integration and help with contributing.

closing this issue as the godoc support has improved - we should look to implement missing godoc as we improve/add features


Ionic 4 RC-0 - ion-anchor is showing error

Bug Report
Ionic version:

[x] 4.0.0.rc.0
Current behavior:

ion-anchor tag is showing parsing error in ionic v4 release candidate. But, When I import CUSTOM_ELEMENTS_SCHEMA in my signin module, it is working fine.
Expected behavior:

ion-anchor tag is work without adding any CUSTOM_ELEMENTS_SCHEMA in my signin module
Steps to reproduce:

Implemented ion-anchor tag in my signin page html. Below i have added my code.
Related code:
<ion-anchor color="primary" routerDirection="forward" href="/forget">Forget your password?</ion-anchor>

Error

Other information:

Ionic info:

<ion-anchor> is not exported in @ionic/angular since a simple <a> might have the same effect, what's your use case?

The doc isn't clear about it but it seems ion-anchor is redundant and the same properties can be applied to an a tag.

Had the same issue, i dont think its provided by Ionic anymore. Just use a regular a tag.
Its confusing because it still exists in the documentation.

If it's no longer a support element, it should be removed from the docs.

@MarkJAmes1217  does not make sense in angula land. it's only useful for ionic/core.
<a [routerLink]="/path">Link</a>

 will not be available in @ionic/angular, we will update the docs. But it's still a supported component, it is just not available in @ionic/angular


use dedicated TmpVector3 For BBox and BSphere + Prevent some Matrix inversion

This PR contains several things :

Instead of using Tmp.Vector3, BoundingBox and BoundingSphere use their own temporary Vector3 Array. This to reduce the chance of bug, as their methods are likely to be called from internal code that are already using the Tmp.Vector3 array.

Prevent from inverting a matrix when we know that the matrix contains only a translation or a rotation, as the inverse of a translation is the opposite translation and the inverse of a quaternion is its conjugate.

some code cleaning in TransformNode

@deltakosh does each PR imply a what's new update ?

Or is it because of the failing test ? I checked the log, and did not figure what is is about... will check to run it locally tomorow

Nope every PR must be referenced (it is ok to change an exisiting line)

There is a conflict sir :)


Digitised content UX: design sprint process

Based on method set out in Sprint: how to solve big problems and test new ideas in just five days by Jake Knapp. http://www.thesprintbook.com/tools/
Purpose of sprint
Build confidence that we’re building the right thing by testing ideas quickly
Decide what the surface does, then work backward to figure out underlying systems or technology
Challenge
To work out our approach the presentation and functionality of digitised content so that it will be most useful to our research audiences

Read digital surrogate? Read on screen?
Downloads
Use of text and related data (statistics, images, OCR, index, table of contents)
Zoom
Compare editions
Embed

Sprint structure
Day 1: Make a map and choose a target
Day 2: Sketch competing solutions
Day 3: Decide on the best options
Day 4: Build one (or more) realistic prototype(s)
Day 5: Test with target users

Relates to #1305 and #1306

closing for now, will come back to in Q2.


Specifying #version 400 in glsl shaders triggers "shaderClipDistance" requirement error

Not sure if the bug is in the validator or in glslang, but when compiling a GLSL vertex shader with #version 400 and then creating a pipeline from it with the validator enabled, I get the following:
ERROR: [SC]  Code 15 : Shader requires VkPhysicalDeviceFeatures::shaderClipDistance but is not enabled on the device
The shader code is as follows:
#version 400
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable
layout (location = 0) in vec3 a_position;
layout (location = 1) in vec2 a_texcoord0;
layout (location = 0) out vec2 v_texcoord0;
void main() {
  v_texcoord0 = a_texcoord0;
  gl_Position = vec4(a_position, 1.0);
}

As you can see, gl_ClipDistance[]; is nowhere to be found. Or does 400 imply that requirement even if the feature isn't used?
The error goes away if I instead specify #version 140.

Chris, can you take a look to see which one it is? I'm guessing this is not validation but it would be good to know for certain.

Oh yeah, this appeared in 1.0.8 - no such error in 1.0.5. If validation of this was just added, it's probably a glslang bug that the 1.0.5 validator didn't care about.

glslangValidator does appear to generate a ClipDistance capability for this
shader (at least it did a week ago when I last pulled it).
A reading of the GLSL spec seems to suggest that gl_ClipDistance is
implicitly declared when gl_PerVertex is not declared explicitly. This
could potentially justify the capability being enabled.
FWIW, the ClipDistance capability is not enabled in the SPIR-V when this is
added to your shader above main:
out gl_PerVertex {
vec4 gl_Position;    // will use gl_Position
};
Greg
Greg Fischer
Project Manager and Senior Engineer
LunarG, Inc. - 3D Driver Innovations
<EMAIL_ADDRESS><EMAIL_ADDRESS>On Thu, Apr 7, 2016 at 3:57 PM, Henrik Rydgård<EMAIL_ADDRESS>wrote:

Oh yeah, this appeared in 1.0.8 - no such error in 1.0.5. If validation of
this was just added, it's probably a glslang bug that the 1.0.5 validator
didn't care about.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/298#issuecomment-207107496

Redeclaration of gl_PerVertex is required in order to subset it. This is
not a validation issue.
On Fri, Apr 8, 2016 at 10:21 AM, greg-lunarg<EMAIL_ADDRESS>wrote:

glslangValidator does appear to generate a ClipDistance capability for this
shader (at least it did a week ago when I last pulled it).
A reading of the GLSL spec seems to suggest that gl_ClipDistance is
implicitly declared when gl_PerVertex is not declared explicitly. This
could potentially justify the capability being enabled.
FWIW, the ClipDistance capability is not enabled in the SPIR-V when this is
added to your shader above main:
out gl_PerVertex {
vec4 gl_Position; // will use gl_Position
};
Greg
Greg Fischer
Project Manager and Senior Engineer
LunarG, Inc. - 3D Driver Innovations
<EMAIL_ADDRESS><EMAIL_ADDRESS>On Thu, Apr 7, 2016 at 3:57 PM, Henrik Rydgård<EMAIL_ADDRESS>wrote:

Oh yeah, this appeared in 1.0.8 - no such error in 1.0.5. If validation
of
this was just added, it's probably a glslang bug that the 1.0.5 validator
didn't care about.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
<
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/298#issuecomment-207107496

—
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/298#issuecomment-207113628

Not quite sure why this came to me, but since this does not appear to be a validation issue, this should be closed.
If you believe that glslang should not be generating the ClipDistance capability for this shader, I suggest opening an issue at https://github.com/KhronosGroup/glslang


Panic when starting influxd after upgrade

➜  darwin git:(master) ✗ ./influxd upgrade --bolt-path /Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt -b default --config-file /Users/rsavage/workspace/influxdb_testing/default.conf --engine-path /Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine --force --influx-configs-path /Users/rsavage/workspace/influxdb_testing/.influxdbv2/configs --org influxdata --password something --retention 24h --username russ -v
{"level":"info","ts":1604964431.031484,"caller":"upgrade/upgrade.go:331","msg":"Starting InfluxDB 1.x upgrade"}
{"level":"info","ts":1604964431.0316002,"caller":"upgrade/upgrade.go:334","msg":"Upgrading config file","file":"/Users/rsavage/workspace/influxdb_testing/default.conf"}
{"level":"info","ts":1604964431.0330062,"caller":"upgrade/config.go:110","msg":"Config file upgraded.","1.x config":"/Users/rsavage/workspace/influxdb_testing/default.conf","2.x config":"/Users/rsavage/workspace/influxdb_testing/config.toml"}
{"level":"info","ts":1604964431.03307,"caller":"upgrade/upgrade.go:359","msg":"Upgrade source paths","meta":"/Users/rsavage/workspace/influxdb_testing/.influxdb/meta","data":"/Users/rsavage/workspace/influxdb_testing/.influxdb/data"}
{"level":"info","ts":1604964431.033092,"caller":"upgrade/upgrade.go:360","msg":"Upgrade target paths","bolt":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt","engine":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine"}
{"level":"info","ts":1604964431.062824,"caller":"bolt/bbolt.go:67","msg":"Resources opened","service":"bolt","path":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt"}
{"level":"info","ts":1604964431.076789,"caller":"migration/migration.go:241","msg":"Migration \"initial migration\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.671076,"caller":"migration/migration.go:241","msg":"Migration \"initial migration\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.671315,"caller":"migration/migration.go:241","msg":"Migration \"add index \\\"userresourcemappingsbyuserindexv1\\\"\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.7134452,"caller":"migration/migration.go:241","msg":"Migration \"add index \\\"userresourcemappingsbyuserindexv1\\\"\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.7135239,"caller":"migration/migration.go:241","msg":"Migration \"migrate task owner id\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.741972,"caller":"migration/migration.go:241","msg":"Migration \"migrate task owner id\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.7421231,"caller":"migration/migration.go:241","msg":"Migration \"create DBRP buckets\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.8123991,"caller":"migration/migration.go:241","msg":"Migration \"create DBRP buckets\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.812513,"caller":"migration/migration.go:241","msg":"Migration \"create pkger stacks buckets\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.8686872,"caller":"migration/migration.go:241","msg":"Migration \"create pkger stacks buckets\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.868775,"caller":"migration/migration.go:241","msg":"Migration \"delete sessionsv1 bucket\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.91352,"caller":"migration/migration.go:241","msg":"Migration \"delete sessionsv1 bucket\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.913623,"caller":"migration/migration.go:241","msg":"Migration \"Create TSM metadata buckets\" started (up)","service":"migrations"}
{"level":"info","ts":1604964431.9554691,"caller":"migration/migration.go:241","msg":"Migration \"Create TSM metadata buckets\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964431.9555352,"caller":"migration/migration.go:241","msg":"Migration \"Create Legacy authorization buckets\" started (up)","service":"migrations"}
{"level":"info","ts":1604964432.0115788,"caller":"migration/migration.go:241","msg":"Migration \"Create Legacy authorization buckets\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964432.011751,"caller":"migration/migration.go:241","msg":"Migration \"Create legacy auth password bucket\" started (up)","service":"migrations"}
{"level":"info","ts":1604964432.053447,"caller":"migration/migration.go:241","msg":"Migration \"Create legacy auth password bucket\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964432.053536,"caller":"migration/migration.go:241","msg":"Migration \"add index \\\"telegrafbyorgindexv1\\\"\" started (up)","service":"migrations"}
{"level":"info","ts":1604964432.096574,"caller":"migration/migration.go:241","msg":"Migration \"add index \\\"telegrafbyorgindexv1\\\"\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964432.096725,"caller":"migration/migration.go:241","msg":"Migration \"populate dashboards owner id\" started (up)","service":"migrations"}
{"level":"info","ts":1604964432.124474,"caller":"migration/migration.go:241","msg":"Migration \"populate dashboards owner id\" completed (up)","service":"migrations"}
{"level":"info","ts":1604964432.38989,"caller":"upgrade/setup.go:153","msg":"CLI config has been stored.","path":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/configs"}
{"level":"info","ts":1604964432.389997,"caller":"upgrade/database.go:35","msg":"Checking space"}
{"level":"info","ts":1604964432.400511,"caller":"upgrade/database.go:51","msg":"Disk space info","Free space":"67 GB","Requested space":"70 MB"}
{"level":"info","ts":1604964432.400586,"caller":"upgrade/database.go:58","msg":"Upgrading databases"}
{"level":"info","ts":1604964432.400606,"caller":"upgrade/database.go:65","msg":"Skipping _internal "}
{"level":"info","ts":1604964432.4006221,"caller":"upgrade/database.go:70","msg":"Upgrading database ","database":"telegraf"}
{"level":"info","ts":1604964432.400656,"caller":"upgrade/database.go:89","msg":"Creating bucket ","Bucket":"telegraf/autogen"}
{"level":"info","ts":1604964432.414589,"caller":"upgrade/database.go:100","msg":"Creating database with retention policy","database":"ed882bb8cfeb5df8"}
{"level":"info","ts":1604964432.428616,"caller":"upgrade/database.go:118","msg":"Creating mapping","database":"telegraf","retention policy":"autogen","orgID":"8689ee2ad682de4a","bucketID":"ed882bb8cfeb5df8"}
{"level":"info","ts":1604964432.442621,"caller":"upgrade/database.go:131","msg":"Creating shard group","database":"ed882bb8cfeb5df8","retention policy":"autogen","time":1604275200}
{"level":"info","ts":1604964432.456573,"caller":"upgrade/database.go:131","msg":"Creating shard group","database":"ed882bb8cfeb5df8","retention policy":"autogen","time":1604880000}
{"level":"info","ts":1604964432.471543,"caller":"upgrade/database.go:146","msg":"Copying data","source":"/Users/rsavage/workspace/influxdb_testing/.influxdb/data/telegraf/autogen","target":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine/data/ed882bb8cfeb5df8/autogen"}
{"level":"info","ts":1604964432.4879491,"caller":"upgrade/database.go:161","msg":"Copying wal","source":"/Users/rsavage/workspace/influxdb_testing/.influxdb/wal/telegraf/autogen","target":"/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine/wal/ed882bb8cfeb5df8/autogen"}
{"level":"info","ts":1604964432.510431,"caller":"upgrade/security.go:40","msg":"User is admin and will not be upgraded.","username":"admin"}
{"level":"info","ts":1604964432.547447,"caller":"upgrade/security.go:97","msg":"User upgraded.","username":"russ"}
{"level":"info","ts":1604964432.619276,"caller":"upgrade/security.go:97","msg":"User upgraded.","username":"savage"}
{"level":"info","ts":1604964432.619342,"caller":"upgrade/upgrade.go:436","msg":"Upgrade successfully completed. Start service now"}
➜  darwin git:(master) ✗ INFLUXD_CONFIG_PATH=~/workspace/influxdb_testing/config.toml ./influxd
2020-11-09T23:31:21.810872Z	info	Welcome to InfluxDB	{"log_id": "0QNqRhKW000", "version": "dev", "commit": "cae539055f", "build_date": "2020-11-09T23:31:16Z"}
2020-11-09T23:31:21.829566Z	info	Resources opened	{"log_id": "0QNqRhKW000", "service": "bolt", "path": "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt"}
2020-11-09T23:31:21.963288Z	info	Checking InfluxDB metadata for prior version.	{"log_id": "0QNqRhKW000", "bolt_path": "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt"}
2020-11-09T23:31:21.963669Z	info	Using data dir	{"log_id": "0QNqRhKW000", "service": "storage-engine", "path": "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine/data"}
2020-11-09T23:31:21.963761Z	info	Compaction settings	{"log_id": "0QNqRhKW000", "service": "storage-engine", "max_concurrent_compactions": 4, "throughput_bytes_per_second": 50331648, "throughput_bytes_per_second_burst": 50331648}
2020-11-09T23:31:21.963795Z	info	Open store (start)	{"log_id": "0QNqRhKW000", "service": "storage-engine", "op_name": "tsdb_open", "op_event": "start"}
2020-11-09T23:31:22.060066Z	info	Opened shard	{"log_id": "0QNqRhKW000", "service": "storage-engine", "op_name": "tsdb_open", "index_version": "inmem", "path": "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine/data/ed882bb8cfeb5df8/autogen/5", "duration": "25.568ms"}
2020-11-09T23:31:22.080717Z	info	Opened shard	{"log_id": "0QNqRhKW000", "service": "storage-engine", "op_name": "tsdb_open", "index_version": "inmem", "path": "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine/data/ed882bb8cfeb5df8/autogen/2", "duration": "46.211ms"}
2020-11-09T23:31:22.080808Z	info	Open store (end)	{"log_id": "0QNqRhKW000", "service": "storage-engine", "op_name": "tsdb_open", "op_event": "end", "op_elapsed": "117.016ms"}
2020-11-09T23:31:22.080835Z	info	Starting retention policy enforcement service	{"log_id": "0QNqRhKW000", "service": "retention", "check_interval": "30m"}
2020-11-09T23:31:22.080850Z	info	Starting precreation service	{"log_id": "0QNqRhKW000", "service": "shard-precreation", "check_interval": "10m", "advance_period": "30m"}
2020-11-09T23:31:22.080919Z	info	Starting query controller	{"log_id": "0QNqRhKW000", "service": "storage-reads", "concurrency_quota":<PHONE_NUMBER>854775807, "initial_memory_bytes_quota_per_query":<PHONE_NUMBER>854775807, "memory_bytes_quota_per_query":<PHONE_NUMBER>854775807, "max_memory_bytes": 0, "queue_size": 10}
panic: sync: negative WaitGroup counter

goroutine 1 [running]:
sync.(*WaitGroup).Add(0xc0005e0990, 0x7fffffffffffffff)
	/usr/local/Cellar/go/1.15.2/libexec/src/sync/waitgroup.go:74 +0x147
github.com/influxdata/influxdb/v2/query/control.New(0x7fffffffffffffff, 0x0, 0x7fffffffffffffff, 0x0, 0xa, 0xc0011e7ce0, 0x0, 0x0, 0x0, 0xc0008261b0, ...)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/query/control/controller.go:189 +0x7f5
github.com/influxdata/influxdb/v2/cmd/influxd/launcher.(*Launcher).run(0xc0001e6e00, 0x760c700, 0xc0004f8d40, 0x0, 0x0)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/cmd/influxd/launcher/launcher.go:876 +0x3998
github.com/influxdata/influxdb/v2/cmd/influxd/launcher.cmdRunE.func1(0x0, 0x0)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/cmd/influxd/launcher/launcher.go:148 +0x14c
github.com/influxdata/influxdb/v2/kit/cli.NewCommand.func1(0xc00016d080, 0x9b905a0, 0x0, 0x0, 0x0, 0x0)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/kit/cli/viper.go:62 +0x29
github.com/spf13/cobra.(*Command).execute(0xc00016d080, 0xc0001181c0, 0x0, 0x0, 0xc00016d080, 0xc0001181c0)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/vendor/github.com/spf13/cobra/command.go:842 +0x47c
github.com/spf13/cobra.(*Command).ExecuteC(0xc00016d080, 0xc000b9ff58, 0x1, 0x1)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/vendor/github.com/spf13/cobra/command.go:950 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
	/Users/rsavage/go/src/github.com/influxdata/influxdb/vendor/github.com/spf13/cobra/command.go:887
main.main()
	/Users/rsavage/go/src/github.com/influxdata/influxdb/cmd/influxd/main.go:47 +0x19e

here is my config.toml:
bolt-path = "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/influxd.bolt"
engine-path = "/Users/rsavage/workspace/influxdb_testing/.influxdbv2/engine"
http-bind-address = ":8086"
influxql-max-select-buckets = 0
influxql-max-select-point = 0
influxql-max-select-series = 0
log-level = "info"
query-concurrency =<PHONE_NUMBER>854775807
reporting-disabled = false
storage-cache-max-memory-size =<PHONE_NUMBER>
storage-cache-snapshot-memory-size = 26214400
storage-cache-snapshot-write-cold-duration = "10m0s"
storage-compact-full-write-cold-duration = "4h0m0s"
storage-compact-throughput-burst = 50331648
storage-max-concurrent-compactions = 0
storage-max-index-log-file-size = 1048576
storage-retention-check-interval = "30m0s"
storage-series-file-max-concurrent-snapshot-compactions = 0
storage-series-id-set-cache-size = 100
storage-shard-precreator-advance-period = "30m0s"
storage-shard-precreator-check-interval = "10m0s"
storage-tsm-use-madv-willneed = false
storage-validate-keys = false
storage-wal-fsync-delay = "0s"
tls-cert = "/etc/ssl/influxdb.pem"
tls-key = ""

changing query-concurrency = 10 in my config fixes this


Enable Discussions

I'm so glad to have found this repo.  I'd love to make some comments and open up some conversatinos which are not specific to "Issues".  If the "Discussions" tab in the Github project was enabled, this would allow  people to have discussions around how we can collect better information, without polluting the Issues queue.

Done. Thank you for your idea.


Port PWM peripheral, add SPI peripheral, support Teensy 4 integration

The PR ports the PWM peripheral to the RAL, adds the SPI peripheral to the project (#9), and updates the RAL / HAL to build with the teensy4-rs project. With this PR, and the feature/imxrt-hal branch of the teensy4-rs project, we can build and execute all examples in teensy4-rs on a Teensy 4. It's the culmination of all #8 efforts.
There's a couple of commits to call out. The commit messages may provide additional context.

b4301ab removes the cortex-m-rt dependency from the auto-generated RAL. We can't use the general cortex-m-rt crate. Right now, users will need to link in their own runtime crate that can support iMXRT memory layout and startup requirements. I'm still using the imxrt1062-rt crate in the teensy4-rs project to meet this requirement. The imxrt-rt crate may also work.
0cff649 extends the imxrtral.py script to propagate register sizes into fields. See that commit for more information. If accepted, we should consider porting this commit to the stm32ral project.
2c06800 ports the PWM peripheral. #21 found that some behaviors of the HAL were unsafe. As I ported the PWM peripheral, I found that the PWM peripheral was equally unsafe. The new API should enforce safety while maintaining an implementation of embedded_hal::Pwm. Note that the previous HAL exposed an implementation of embedded_hal::PwmPin, so this represents a breaking change. The teensy4-rs project already accounts for this. I'm looking for some feedback on this API; I'm concerned it might be harder to use. However, it seemed to be one of the only ways to support an embedded_hal implementation without baking-in all of the pre-emption safety into the implementation.

If you have a Teensy 4 available, I recommend pulling-down this PR, pulling-down the feature/imxrt-hal branch of the teensy4-rs project, and running the examples on hardware. I still need to measure some timings, but at a first glance all behaviors seem consistent.
Also, @dflemstr deserves the credit for the SPI implementation (see mciantyre/teensy4-rs#47). I've only ported it to use the RAL.

Note that, since the RAL is no longer in VCS (#16), you'll need to re-generate the RAL to realize the changes in this PR.


Simplify ReadyForQueryCallback

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@521f38f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #5776   +/-   ##
=========================================
  Coverage          ?   83.03%
  Complexity        ?    11831
=========================================
  Files             ?     1397
  Lines             ?    45425
  Branches          ?     5626
=========================================
  Hits              ?    37717
  Misses            ?     5082
  Partials          ?     2626

Impacted Files
Coverage Δ
Complexity Δ

...crate/protocols/postgres/PostgresWireProtocol.java
86.24% <ø> (ø)
36 <0> (?)

Continue to review full report at Codecov.

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


When to call mixpanel.init() / when to call the constructor new Mixpanel('--token--');

We are integrating mixpanel into our legacy app.
I started POC.
And I added this on the home screen home.js
But the problem is whenever I land up on the home screen
The new distinct id is getting assigned to all events.
How to avoid that without setting up distinct id explicitly?
or
What is the correct place and correct way to call the constructor and init methods?
home.js File

..........
..........

import { Mixpanel } from 'mixpanel-react-native';

..........

const mixpanel = new Mixpanel('--token--');
mixpanel.init();
mixpanel.getDistinctId()
  .then((id) => console.log('===>>> DistinctId ', id));

const Home = (props) => {

..........
..........

  return(
      <View>
        ..........
            <Button
              title='Select Premium Plan'
              onPress={ () => mixpanel.track('Test1', {'status': 'working'}) }
            />
        ..........
        ..........
        ..........
      </View>
  );
};

As I am in the initial phase of implementation,
Dos and Don'ts inputs for mixpanel integration will be really helpful!! 🙌🙂🤞
You can see the two different distinct ids were assigned
Step I did:-

Clicked on a button "Test 1" event gets logged.
Relaunched the App and again clicked on a button "Test1" event gets logged
But with the different distinct ID

hi @Spark-Cybel , we will release a new version addressing this issue in early Jan after the holiday. Sorry about the inconvenience.

hi @Spark-Cybel ,  again, thanks for bringing it up. This issue has been fixed in 1.3.5. The distinct id is not going to be changed for new app sessions. I'm closing this issue now, please feel free to reopen if the problem still exists.


⚠ ClamAV has degraded performance

In 163103e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 78 ms

Resolved: ClamAV performance has improved in 918cdd7 after 5 minutes.


Figure Manager: Put confirmation dialog when deleting a figure

that this "also deletes all references to that figure from the document". Same with the bib manager.

We ditch the figure manager.


Commit to Git leaves old SHA red

Start with a clean load from Git. The project is listed in the console and projects browser with normal black font.
Make some code changes in a project. The project is now listed in the console and projects browser with black bold italic.
In the console, right-click on the project and select "Commit to Git", enter a commit message, and click OK. The commit is made, but the console still lists the old SHA, and the package is shown in console and browsers in red.
The workaround is to always do a load immediately after a commit, but that's rather disturbing.

When Jadeite commits a project to git, the project service sends this code:
Rowan projectTools write writeProjectNamed: name.
Rowan projectTools commit
	commitProjectNamed: name
	message: message.

Then, Jadeite updates the project service and sends this code to retrieve the new sha:
^(RwProject newNamed: name) loadedCommitId

It's a bit difficult to debug, as the user DataCurator doesn't have visibility to the Rowan structures, but it appears that the update is finding the prior sha. Jadeite logs confirm that the update immediately following the commit does not find the updated sha. In a non-error use case, the new sha is returned.
Since you can load the new sha, the commit was successful. That implies no error is hidden.
@dalehenrich - I believe this might be a Rowan bug. Or, something peculiar about Martin's setup.
I can run this script in a workspace and see that the new sha is not the loadedCommitId
current sha: 2313925

Rowan projectTools write writeProjectNamed: 'FileSystemGs_dev'.
Rowan projectTools commit
	commitProjectNamed: 'FileSystemGs_dev'
	message: 'test commit'.

(Rowan projectNamed: 'FileSystemGs_dev') loadedCommitId '2313925'

Assigning to @dalehenrich  for input.

@martinmcclure, you are using the v2 code and I assume that @ericwinger is looking at v1 code ... I have not gone through the process of converting the v2 Services code to use the v2 api, so it is not surprising at this point that there are discrepancies in behavior ... I happen to be in the process of converting the Services code to use the v2 api and expect to be complete by the end of the week (if not sooner) ...
@martinmcclure if you want to get rid of the red, a load of the project after a commit should properly set the loadedCommitId ...

Remove from December and retire, as probably an artifact of Martin's environment and possibly fixed by Dale's later changes. Note the december project is specifically for v1/customer env.

Reopening, since I'm still seeing this with Jadeite 3.1.0 and the latest dkh-rowanCandidateV2.0, developing as SystemUser.

What is the exact sequence of events leading from black to red? As I think about this I'm not sure that the loaded SHA is changed on write ... I seem to recall that this happens to me when I have done a command-line commit before doing the write ... of course, if we pick up the SHA after we've written to disk, we will immediately get skew again if we do another command line commit ... Personally, I do a diff to make sure that there aren't any changes that I've missed and then a load to clear the skew ... again, personally I almost always want to deal with skew myself rather than have the system automatically clear skew ...
As I think a bit more about, this it might make sense to update the loaded sha if we prompt the user to ask whether they want the sha updated after doing a diff?

The sequence is:

Start with the project isDirty false, skew false.
Add a method. Now isDirty is true, skew false.
"Commit to Git" in project browser. isDirty is now set to false, but isSkew is true and the package is shown in red.The Loaded Sha has not been changed.

It seems like if you do a commit through Jadeite it should move the Loaded Sha to what it just committed.

I've created a Rowan bug (GemTalk/Rowan#622) that references this one to take a look at the git commit logic and make sure that we update the loaded commitId on git commit

Martin's reproduction case reproduces in v3.2.12.

@LisaAlmarode, let's chat about this some time ...

Looking at the behavior again when considering issue #844, and this is really quite serious, After you commit you always want to be able to confirm what you did; and Jadeite is totally unhelpful; you have to go to disk and use git.
Jadeite help says, when it's red, you should not write to disk... so you can no longer work...
Refresh does not help at all.  You can reload the entire project again, but that's not an ideal workaround.

lets chat about this sooner rather than later :)

Agreed upon behavior (other than details of the warning messages):

If the on-disk state of the git repository is not dirty, and the recorded sha in the image matches the one on disk, proceed with the commit.

If the on-disk state of the git repository is dirty, but the recorded sha in the image matches the one on disk, put up a dialog saying:

"The on-disk state of the git repository is dirty.  This may be due to a previous project write without commit, or change to the repository outside Jadeite. It is recommended to check status on the git command line before committing
[ cancel commit ]  [ proceed with commit ]

if the recorded sha in the image does not matches the one on disk, put up a dialog saying:

The most recently loaded sha differs from the sha of the git repository.  It is not
recommended to commit; if you are aware of the issues, you may continue to write and commit your image changes.
[ cancel commit ]  [ proceed with commit ]
If the commit proceeds, either since it's safe or the user confirms commit, we update the loaded sha in the repository to the sha of the commit that just occurred.

Added appropriate warnings & actions based on the previous comment. Will need reasonable review.