Update README to reflect how to use config file correctly

This is what was there:
Create config file
// config.json
{
    "lib": "/usr/local/lib/softhsm/libsofthsm2.so",
    "libName": "SoftHSMv2.0",
    "slot": 0,
    "pin": "password"
}

Start console application
graphene

Load module from config file
> module init -p config.json

Get list of objects
> object list -s 0

encounter same problem here, not able to init

Looks like I removed that feature in the last update. I published the new version v1.1.0
This version supports module load -c <file> command
> module load -c config.json

Module info
==============================

  Library: /usr/local/lib/softhsm/libsofthsm2.so
  Name: SoftHSMv2.0
  Cryptoki version: 2.40

Slot info
==============================

  Handle: 62777142
  Description: SoftHSM slot ID 0x62777142
  Manufacturer ID: SoftHSM project
  Firm version: 2.6
  Hardware version: 2.6
  Flags:
    HW: false
    Removable device: false
    Token present: true
  Token:
    Label: My slot 0
    Manufacturer ID: SoftHSM project
    Model: SoftHSM v2
    Serial number: 6e6b3718e2777142
    Max PIN length: 255
    Min PIN length: 4
    Max session count: 0
    Session count:<PHONE_NUMBER>3709552000
    Max RW session count: 0
    RW session count:<PHONE_NUMBER>3709552000
    Total private memory:<PHONE_NUMBER>3709552000
    Free private memory:<PHONE_NUMBER>3709552000
    Total public memory:<PHONE_NUMBER>3709552000
    Free public memory:<PHONE_NUMBER>3709552000
    Firm version: 2.6
    Hardware version: 2.6
    Flags:
      Initialized: true
      Logged in: true

README file includes the description for the JSON file. See description
@WYANG008 Could you try it?


Problem with scrollbar transparency

After commit a8df1c0, scrollbar from dstein64/nvim-scrollview plugin lost transparency.

With other color themes, there is no such problem.

I skimmed through scrollview plugin and the highlight color for the scroll bar (ScrollView hl) should default to Visual. Make sure kanagawa is loaded before every other UI plugins.
No recent commits whatsoever should mess with that. Please confirm that the problem is the recent commit by rolling back to it and update the screenshot using the same colorscheme...

I've tried everything I can. I disabled other plugins, changed the loading order, nothing worked. Transparency works fine with all other color themes. Only in Kanagawa, it's opaque. After investigating, I found the highlight which was causing the problem:
NormalNC = config.dimInactive and { fg = colors.fg_dark, bg = colors.bg_dim } or { link = "Normal" },
After disabling this line or enabling dimInactive, everything works as expected.

I solved the problem in my configuration with override NormalNC = { bg = "NONE" }. So far, I have not noticed any side effects.

By the way, I just checked the same configuration on my work machine, where neovim nightly was not updated recently and there is no such issue. The problem seems to be with a recent neovim commit. Maybe neovim's #19871 is related to this.

I do not understand why NormalNC, did you change the default highlight group for the plugin? Afaik it should link to visual.

No, I didn't.

I think it's a bug introduced with neovim pull request #13457. Other themes were not affected, so I thought that's your plugin was the cause.


Download v1.4.0

Pressed Download v1.4.0
Extracted contents to its folder.
All files seem incorrectly linked. CSS not loading properly etc and none of the examples are working.

Man this is frustrating. I have the same issue - why are the core files not easily available for download?

I am sorry, people. I will change this with the new version.
What do you need, CSS or Sass?

I appreciate you putting up the Sass but really I just want the CSS and JavaScript files so I can quickly test the code. Sorry if I sound grumpy I do appreciate you sharing your code with the world.

Next version will be better (CSS only aso).


code style: string concatenation

Simple code style consideration, less is more.

This introduces the exact thing that I want to avoid; manually arranging that whitespace at the beginning or ending of each string.
Also, try the formatting that will come out of black.


Radial menu render problem

http://i.imgur.com/kHpMzvu.png

Found the root cause for this issue. The window is sized incorrectly. It's slightly too big, causing some part of the rendering to be offset since it thinks the window is smaller.

Looks ok now!


Download and Prepare App for Cloud Foundry Deployment

Tutorial URL: https://developers.sap.com/tutorials/cp-cf-dev-01-prepare-app.html
This is related to following tutorial:
https://developers.sap.com/tutorials/cp-cf-dev-02-deploy-app.html
Step 3: Deploy the sample application
But the issues is created in this tutorial:
https://developers.sap.com/tutorials/cp-cf-dev-01-prepare-app.html
Step 5: Add a unique host name to the deployment descriptor
I've added numbers to the host name (as can be seen in the screenshot of the tutorial as well) and had following error message showing up after deploying the app:
Unable to create route. The route is invalid. Enter a valid Host Name. Please specify a different route.
I changed the host name, got rid of the numbers, and it worked fine. Maybe this could be tested by someone else to verify if this happens to more users as well.

Hi @OlgaWerner thanks for the note. Routes with hostnames containing numbers are fine, I've just re-tested it now:
0 of 1 instances running, 1 starting
1 of 1 instances running

App started

OK

App cf-nodejs was started using this command `npm start`

Showing health and status for app cf-nodejs in org 58f45caftrial / space dev as<EMAIL_ADDRESS>OK

requested state: started
instances: 1/1
usage: 192M x 1 instances
urls: qmacro-testing123.cfapps.eu10.hana.ondemand.com
last uploaded: Mon Nov 9 07:05:04 UTC 2020
stack: cflinuxfs3
buildpack: nodejs

     state     since                    cpu    memory          disk        details
#0   running   2020-11-09 07:05:34 AM   0.0%   20.2M of 192M   97M of 1G
~/Desktop/cf-sample-app-nodejs-master
$

If this issue persists for you, you might want to check out SAP Community Q&A where you can tag your question to have it appear in the appropriate section, and where others will also benefit from your question, and everyone from the answers you receive. Thanks!


Investigate flaky input-date* unit tests

Tests to investigate:

d2l-input-date-time-range > utility > getShiftedEndDateTime in America/Toronto with localized true > date change > ✖ should return correctly backward shifted end date (Actual 2020-10-26T03:00:00.000 expected 2020-10-26T04:00:00.000, Firefox, Safari, Chrome)
d2l-input-date-time-range > utility > getShiftedEndDateTime in Australia/Eucla with localized true > date change > ✖ should return correctly backward shifted end date (Actual 2020-10-26T03:00:00.000 expected 2020-10-26T04:00:00.000, Firefox, Safari, Chrome)
d2l-input-date-time min and max value ✖ should set correct min and max on d2l-input-date (expected '2018-08-27' to equal '2018-08-26', Edge, Safari)

PR https://github.com/BrightspaceUI/core/pull/1101 should resolve d2l-input-date-time min and max value ✖ should set correct min and max on d2l-input-date (expected '2018-08-27' to equal '2018-08-26', Edge, Safari). The other 2 will be resolved separately.


[Fix] Add list to dict keys to avoid modify loss dict

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
During an iteration, the dictionary should not be modified. Add list to make a list copy.
No error is raised when the value of the loss dict is a Tensor, but this does not make sense. The error raised when the value of the loss dict is a List.
The fix can support use retinanet as an rpn head.
Modification
Please briefly describe what modification is made in this PR.
BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@chhluo Please have a look.


Redundant tagging/untagging in codegen

If you follow an int-rep insn with an int-rep insn, it doesn't clear out the intermediate tagging shifts. Example:
: wut ( x -- y ) { int-4 } declare 0 swap nth -4 fixnum-shift-fast ;

\ wut disassemble

0x11507ee20: mov    (%r14),%rax
0x11507ee23: mov    0x9(%rax),%rax
0x11507ee27: rex.W movdqa 0x7(%rax),%xmm0
0x11507ee2d: pextrd $0x0,%xmm0,%eax
0x11507ee33: movslq %eax,%rax
0x11507ee36: shl    $0x4,%rax
0x11507ee3a: sar    $0x8,%rax
0x11507ee3e: shl    $0x4,%rax
0x11507ee42: mov    %rax,(%r14)
0x11507ee45: mov    %eax,-0xdabe4b(%rip)        # 0x1142d3000
0x11507ee4b: retq

Can you take a look at compiler.cfg.representations.peephole and see if the existing optimizations should cover this? I thought I already did this at some point, but maybe it broke and the unit tests are not comprehensive enough.

It looks like the peephole optimizations all work. The new tests I added in 6f3172566452f73c90265c27257fb0132fb143eb all pass. If I look at the ssa. output, it appears that the tagging instruction is emitted even before representation selection is done:
: wut ( x -- y ) { int-4 } declare 0 swap nth -4 shift ;
IN: scratchpad \ wut ssa.
=== word: wut, label: wut

=== Basic block #0

##prologue
##branch

Successors: 1

=== Basic block #1

##peek 19 D 0
##slot-imm 21 19 2 7
##select-vector 24 21 0 int-4-rep
##shl-imm 26 24 4
##sar-imm 29 26 8
##replace 29 D 0
##branch

Successors: 2

=== Basic block #2

##safepoint
##epilogue
##return

=== stack frame: f

The representation pass then adds the second ##shl-imm after ##sar-imm. Where is the tagging in the ssa. stage coming from?

The extra shift is coming from emit-fixnum-right-shift.
The reason I put it there is so that certain operations have the same behavior with untagged and tagged fixnums. For example on a 32-bit machine,
1 16 fixnum-shift-fast 15 fixnum-shift-fast
Would behave differently depending on whether or not the intermediate value was untagged, because of the overflow.
I don't have a good solution at this stage.

Probably should punt on this until we have proper native integer support.


implement Default when T has a default

Given everything in a struct has a sensible default, it's nice to be able to initialize things with Default::default(). This default seems like the only sensible one to me.

Thanks for the pull request.
I have merged it and published a new version (v1.4.0) on crates.io.


adding sketch of the dashboard

Hello team,
Please review this sketch of dahsboard.
Thank you!

great, Thanks!


MeanStdScaling is a bad name

As noted by @eperim

"Standardised" data is a pretty common nomenclature, while "MeanStdScaling" sounds like it could be anything (and the data is not even scaled by the mean, it is shifted by it, only the std is used for scaling).

I think it's fine! "Standardised" sounds to me like it could be many things 😅 With MeanStdScaling I know immediately what it means among all the common ways of scaling data (and I thought so before we wrote this Transform).
I do think "Standardised" is better than "Normalised" (which I considered originally) because while that has "Normal" in the name, it can refer to scaling by any kind of norm.

I disagree. "Standardisation" is quite common nomenclature. There's even a special tag for it in Stats Exchange, and you can find the term frequently in glossaries, multiple blog posts, teaching materials, and in other packages (e.g. sklearn). These are all from the first page of a Google search.

With MeanStdScaling I know immediately what it means among all the common ways of scaling data in ML

Naturally you do, because you chose the name, but is it common nomenclature that you expect people in general to be familiar with?

"Standardisation" is quite common nomenclature.

Thanks for gathering those links, that makes me favour "Standardisation" more.

Naturally you do, because you chose the name, but is it common nomenclature that you expect people in general to be familiar with?

I copied the name from FeatureEngineering, but yes I had the chance to rename in the original PR and decided to keep it. I think more in terms of "how to identify what this literally does with a relatively short name?" than the nomenclature. You might even disagree that "MeanStdScaling" is best for that purpose, but that's my reasoning.
I commented to show there's a difference of opinion, but I don't feel strongly about this. Nomenclature is important and it's very reasonable to rename it.

I would also vote for "Standardization" instead of "MeanStdScaling".
Also, would it be possible to add "Normalization" as well to the package?
I.e. ( x - min(x) ) / ( max(x) - min(x) )

MeanStd is more precise

How does StandardScaler sound?


Add jobs to check linting

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


Embrace "csharp-textmate-grammar" shared C# effort + fixes from atom, etc

As a follow up from #877 - the C# grammar has been extracted into a repository here, which gets built by Tarvis CI and the output is published as a NPM package here. In addition to that @damieng has been porting over fixes and features (e.g. static usings) from the Atom grammar.
The csharp-textmate-grammar NPM package looks like this when installed:

Since @DustinCampbell mentioned that Visual Studio team is pulling in somehow the grammar from this repo (I guess they are downloading it?) we can't yet delete the file from this repo and automatically pull the shared one.
So for now:
npm run update-grammar

will update the C# grammar package to the latest stable version and update the one in syntaxes/csharp.json.
What do you think?
This pull request also removes all grammar tests, drops the vscode-textmate dependency (which was pulling in a native package)

@ivanz: Do note that https://github.com/OmniSharp/omnisharp-vscode is a Microsoft repo and I'm a member of the C# team. I'm very keen on moving this someplace more shared, and I don't want to stop any of the passion here. But, would you be OK if we slow down a bit so we can do this properly?

Totally fine with that 👍 No rush at all - I was simply channelling some free time from the last 2-3 days into this before I get busy with other stuff and holidays, etc - hence why the PoC  🎄 🎅  and the rapid updates on my end. Not planning on doing anything further for now.

FWIW, there are implementation reasons to do this too. I'd like to switch our unit testing over to being hosted in VS Code so that we can add tests that use VS Code services and features (i.e. https://code.visualstudio.com/docs/extensions/testing-extensions). However, the oniguruma dependency of the colorizer tests create some challenges.
First of all, there are bitness issues because node-gyp defaults to compiling to x64 on Windows-x64 and the VS Code test bed is built with 32-bit electron. However, even after manually running node-gyp to compile to ia32, it still fails to load the compiled onigurama.node library due to a "DLL initialization failure".
Moving this out to its own repo would certainly make this easier. :smile:

@DustinCampbell the VS Code testing stuff will not be in the new C# grammar repo tho right?

correct

The new repo shouldn't have any dependency on VS Code. At least, no real dependency. There's the "vscode-textmate" package we use for the tests, but that doesn't have a dependency either.

@damieng In case you haven't seen them - the extracted test bits without any vscode-dependant stuff look like this currently: https://github.com/ivanz/csharp-textmate-grammar/tree/master/test  and the vscode-textmate (no actual vscode dependency as Dustin says). I say currently - because this is just taking out what I did already in the vscode repo, but I am open to suggestions for improvements as to how the testing is done in the future. It's quite easy to add regressions from my personal experience haha.

@ivanz: Now that we've got an official place to put it, do you want to move the bits in https://github.com/ivanz/csharp-textmate-grammar over to https://github.com/dotnet/csharp-textmate-grammar? Then, we can update this PR

Sure thing - I don't have committed access to the dotnet repo, so I can open a pull request?

Yup. Open a PR. We'll get commit access set up soon.

Done: https://github.com/dotnet/csharp-textmate-grammar/pull/1

First merge is away!

Closing in favor of #1146


Question about evalution with torch

Hi,
When I run the evalution with
CUDA_VISIBLE_DEVICES=6 ~/torch/install/bin/th extractor.lua -gpuid 1 -datafile roto-ie.h5 -preddata drive_data/transform_gen/roto_cc-beam5_gens.h5 -dict_pfx "roto-ie" -just_eval, I'm faced with the following error.
/root/torch/install/bin/luajit: extractor.lua:574: bad argument #1 to 'copy' (sizes do not match at /root/torch/extra/cutorch/lib/THC/THCTensorCopy.cu:31)
I print the size and find that the size of p (parameters of generated model) is 2234733, and the size of saved_p (parameters from conv1ie-ep6-94-74.t7) is 2141733. How can I solve the problem?
My torch is installed with LuaJIT. The hdf5 is installed with 'luarocks install hdf5'.
Thank you
Yixian

hi, how did you run this code?  I am  don't understand the Dateset introduction in README and also can't find the create_dataset.py in scripts folder?
Thank you

hi, how did you run this code? I am don't understand the Dateset introduction in README and also can't find the create_dataset.py in scripts folder?
Thank you
Me too, I downloaded the three json files of rotowire but I don’t know how to construct the dataset, did you solve it?

hi, how did you run this code? I am don't understand the Dateset introduction in README and also can't find the create_dataset.py in scripts folder?
Thank you
Me too, I downloaded the three json files of rotowire but I don’t know how to construct the dataset, did you solve it?

https://github.com/ratishsp/data2text-plan-py

Hi,
For RotoWire, the ie h5, dict and labels files are shared at https://drive.google.com/drive/folders/1akm3bAPlK2D9I_8q0w2ByrAjaPmfHHWC?usp=sharing
For MLB, the ie files are shared at https://drive.google.com/drive/folders/1n8hljpAyYNQV7Ut5fSSCfV1rasofNxYd?usp=sharing


Support relational operations in filter panel for properties of type Date

Summary
Closes #781

How did you test this change?

[ ] Test(s) added
[ ] Manual testing (please provide screenshots/recordings)
[x] No testing (please provide an explanation)

@MauricioUyaguari @gayathrir11 the change in this PR makes me scratch my head and think why didn't we do that in the first go? Maybe I miss something 🤔

@MauricioUyaguari @gayathrir11 the change in this PR makes me scratch my head and think why didn't we do that in the first go? Maybe I miss something 🤔

@gayathrir11  could you add a video snippet of this in the query builder.
Once we do that I think the PR is good to go. @akphi  yeah i think we missed this operation but it def makes sense.

@gayathrir11  your local engine is soo slow :)


Visual Studio Code Error doesn't match documentation

Either Visual Studio Code is wrong or the documentation is wrong:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue#host-json
{
    "version": "2.0",
    "extensions": {
        "queues": {
            "maxPollingInterval": "00:00:02",
            "visibilityTimeout" : "00:00:30",
            "batchSize": 16,
            "maxDequeueCount": 5,
            "newBatchThreshold": 8
        }
    }
}

maxPollingInterval
00:00:02
The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).

So is the property maxPollingInterval and integer or a timestamp?

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

ID: 5063120f-d48e-6a76-8e6d-208ead92d187
Version Independent ID: 72bb8ecc-6dec-079a-a9d4-52205466a8c6
Content: Azure Queue storage bindings for Azure Functions
Content Source: articles/azure-functions/functions-bindings-storage-queue.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @mswilson4040 Thank you for reporting this issue! We will review and make any necessary changes.

@mswilson4040 It was milliseconds in v1 but for v2 it is a TimeSpan value.
https://github.com/MicrosoftDocs/azure-docs/issues/16263
It is still milliseconds in v1 https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json-v1#queues

Hi @mswilson4040  Just following up here, let us know if we can assist further, otherwise, we'll proceed to close this issue :)

This was more around getting the documentation fixed rather than a support question. Thanks for the clarity on the format change between v1 and v2, but I think what closes this ticket is a fix to the documentation (or stating the difference between the two)

@mswilson4040 I have assigned this to content author to review and update as appropriate.

Thanks, @mswilson4040 I'm looking into this with the Product Team

Issue is also  present in Visual Studio:

The description is now updated with the following text:

In 1.x the data type is milliseconds, and in 2.x it is a TimeSpan.

The live site will reflect this change in a few hours.
#please-close


Depth First Search(Weighted Graph)

Tysm for your PR, i will be happy to merge it as it is bring some meaning to the repository.


Documentation details

Hello thanks for this package.
I recently started to use lib python-semantic-release and it needs correctly formatted commits to work well.
2 suggestions to your README.md :

mention it is python 3 only. I first did a pip install that failed but pip3 install succeeded
mention that the convention used by default in the hook is the Angular Commit Message Conventions

To add to this, conventional commits are case-insensitive and this script is case-sensitive. This may be in point with the Angular Commit Messages Conventions mentioned above but it needs to be pointed out that this is against the docs of conventional commits.

The units of information that make up conventional commits MUST NOT be treated as case sensitive by implementors, with the exception of BREAKING CHANGE which MUST be uppercase.


Pot file for United States it not generated

The reason could be that countries/united_states.py is not using tr.

Yes, the US holidays hasn't been localized yet.


Does tensorflow support to write checkpoint to hdfs?

now tensorflow 0.11 can read data from hdfs, so how can I write checkpoint to hdfs? for example:
saver.save(save_path='hdfs://some_dir')

@jhseu

Not test yet but I think so. TensorFlow has implemented the C++ filesystem interfaces which is used for almost all data interface. Now it supports to read data from HDFS, it's really possible to support writing into HDFS.
@qingzew It would be great to test by yourself or ask in StackOverview/Google group/Mail list instead of opening an issue 😃

ok, I have tested it. It can do that, but sometimes with an error:
Traceback (most recent call last):
  File "cifar10_train.py", line 134, in <module>
    tf.app.run()
  File "/usr/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "cifar10_train.py", line 130, in main
    train()
  File "cifar10_train.py", line 122, in train
    saver.save(sess, checkpoint_path, global_step=step)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1281, in save
    self.last_checkpoints, latest_filename)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 743, in update_checkpoint_state
    file_io.rename(temp_pathname, coord_checkpoint_filename, overwrite=True)
  File "/usr/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py", line 295, in rename
    compat.as_bytes(oldname), compat.as_bytes(newname), overwrite, status)
  File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/errors.py", line 463, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors.UnknownError

you just to modify cifar10 like this:
tf.app.flags.DEFINE_string('train_dir', 'hdfs://localhost:9000/cifar10_train'

@jhseu is this resolved in master, or is this a legitimate issue we need to resolve.
If this is resolved let's close the issue.

I rebuild tensorflow from master branch, it works now, if you saw this, maybe it's ok:
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format is deprecated; V2 will become the default shortly after 10/31/2016.
WARNING:tensorflow:Consider switching to the more efficient V2 format now:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:to prevent breakage.
WARNING:tensorflow:*******************************************************

I use the tensorflow1.0, but when I write saver.save(sess, hdfs_path+"save_net.ckpt"), it tells me that parent directory is not exists. How can I tackle this problem? Thanks @qingzew @asimshankar @tobegit3hub @gunan @ry

@kelly-tlz try to create root dir first?

I use the tensorflow1.0, but when I write saver.save(sess, hdfs_path+"save_net.ckpt"), it tells me that parent directory is not exists. How can I tackle this problem? Thanks @qingzew @asimshankar @tobegit3hub @gunan @ry

Hi, Do you tackled this problem ? I also meet this problem now.@kelly-tlz


[GNOME 3.36] Bug lockscreen

Github latest version.
Gnome 3.36 on ubuntu 20.04 and manjaro too.
Breaks down style, after locking the screen, And not working unlock.

Same problems here on manjaro with gnome 3.36...
After unlock I get a second unlock and sometimes the gnome-shell restarts. I'm not sure if I'm running the latest version but I will have a look now.

No, also the dev-master version is broken. I would like to help but I have no idea about gnome shell extension development and I'm always lost when I try to find out how to debug an extension.

when I see it right this fixes it:
Index: extension.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- extension.js	(revision 34ae477a51267cc1e85992a80cf85a1a7b7005c1)
+++ extension.js	(date<PHONE_NUMBER>000)
@@ -570,7 +570,7 @@

         // reload theme
         Main.reloadThemeResource();
-        Main.loadTheme();
+        //Main.loadTheme();

         Mainloop.idle_add(() => this.theme_change_signal_block = false);
     }

you might want to give it a try...

This did not solve the problem. Whatever Thank you!

Got the same issue, and was wondering for quite a while why the hell my lock screen is bugged as hell, after reinstalling and heavy research I've found nothing!
Tried to check today if one of my extensions breaks anything, and that's how I got here :D
Really nice extension, hope it gets fixed soon :)
That's how my desktop looks like after locking my screen

Same here on Fedora with Gnome 3.36.2.
This might help:
get@resource:///org/gnome/shell/ui/environment.js:287:29
AlarmEditor@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:538:9
alarm_editor@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:254:25
_on_edit@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:771:23
AlarmItem/<@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:701:101
connect_release/<@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/lib/signal_manager.js:62:48
Jun 21 13:15:33 localhost.localdomain gnome-shell[137451]: Usage of object.actor is deprecated for CheckBox
get@resource:///org/gnome/shell/ui/environment.js:287:29
AlarmEditor@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:539:9
alarm_editor@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:254:25
_on_edit@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:771:23
AlarmItem/<@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:701:101
connect_release/<@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/lib/signal_manager.js:62:48
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: Object St.BoxLayout (0x557e59aa41a0), has been already deallocated — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: clutter_actor_destroy: assertion 'CLUTTER_IS_ACTOR (self)' failed
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: == Stack trace for context 0x557e52d6f6b0 ==
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: #0   557e53b30ac8 i   /home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:807 (2416f309fe98 @ 51)
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: #1   557e53b30a38 i   /home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:303 (2416f309ae98 @ 148)
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: #2   557e53b30958 i   resource:///org/gnome/gjs/modules/core/_signals.js:133 (2cb3c7a34c0 @ 427)
Jun 21 13:15:37 localhost.localdomain gnome-shell[137451]: #3   557e53b308a8 i   /home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/sections/alarms.js:569 (2416f309f5b0 @ 17)
Jun 21 13:15:57 localhost.localdomain gnome-shell[137451]: Usage of object.actor is deprecated for Timepp
get@resource:///org/gnome/shell/ui/environment.js:287:29
destroy@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/extension.js:607:9
disable@/home/xxx/.local/share/gnome-shell/extensions/timepp@zagortenay333/extension.js:649:12
_callExtensionDisable@resource:///org/gnome/shell/ui/extensionSystem.js:107:32

Hi, same problem here with Gnome 3.36 and Manjaro. This trace might help:
JS ERROR: Error: Argument 'file' (type interface) may not be null
loadTheme@resource:///org/gnome/shell/ui/main.js:428:19
load_stylesheet@/home/marcos/.local/share/gnome-shell/extensions/timepp@zagortenay333/extension.js:573:14
_init/<@/home/marcos/.local/share/gnome-shell/extensions/timepp@zagortenay333/extension.js:237:38

when I see it right this fixes it:
Index: extension.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- extension.js	(revision 34ae477a51267cc1e85992a80cf85a1a7b7005c1)
+++ extension.js	(date<PHONE_NUMBER>000)
@@ -570,7 +570,7 @@

         // reload theme
         Main.reloadThemeResource();
-        Main.loadTheme();
+        //Main.loadTheme();

         Mainloop.idle_add(() => this.theme_change_signal_block = false);
     }

you might want to give it a try...
The thing is: I don't know why Main.loadTheme() gets executed. Also when I execute it through looking glass it crashes.

even though it may not solve the real problem, as a temporary solution, this fixes the unlock issue on my laptop.

when I see it right this fixes it:
Index: extension.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- extension.js	(revision 34ae477a51267cc1e85992a80cf85a1a7b7005c1)
+++ extension.js	(date<PHONE_NUMBER>000)
@@ -570,7 +570,7 @@

         // reload theme
         Main.reloadThemeResource();
-        Main.loadTheme();
+        //Main.loadTheme();

         Mainloop.idle_add(() => this.theme_change_signal_block = false);
     }

you might want to give it a try...
The thing is: I don't know why Main.loadTheme() gets executed. Also when I execute it through looking glass it crashes.

This error was bugging me on 2 pc's. Finally found that it was this extension that was causing the problems.
I think disabling Main.loadTheme() works because the extension doesn't get disabled when the screen gets locked. It's because of this error: 'Usage of object.actor is deprecated'.
To fix it, you'll need to edit line 607 in<EMAIL_ADDRESS>--- this._update_menu_arrow(this.actor);
+++ this._update_menu_arrow((this instanceof Clutter.Actor) ? this : this.actor);

On line 290 you could do the same, although I don't know if it's necessary or not:
--- this._update_menu_arrow(this.actor);
+++ this._update_menu_arrow((this instanceof Clutter.Actor) ? this : this.actor);

Note: I'm not really a developer or so, thus I have no idea if this breaks anything else :) Use at your own risk!

Should be fixed now.


Remove temporary workaround

We implemented a temporary fix in https://github.com/phalcon/vokuro/tree/4.0.x/app/Phalcon
After the next v4 release these fixes should be removed.
See https://github.com/phalcon/cphalcon/issues/14265 and https://github.com/phalcon/cphalcon/issues/14346

Will be implemented in #125

Implemented.


Rework Fast Up To Date checks to correctly capture cs:winmd relationship

fixes #879
see related issue:
Visual Studio Fast Up To Date build not working - CopyComplete marker is touched when no files are copied · Issue #7326 · dotnet/project-system (github.com)

Looks like this breaks the build when WinRT.cs doesn't get created.  Specifically the one in authoring is that they are all generated in a temp dir and then fed to a source geneator.  For authoring scenarios, we don't need to do this as it would be handled by the source generator so I think can do a conditional check on it to exclude those scenarios.


Apply business logic (backend) to drep list

Why
To allow user search, filter and sort dreps on a DRep list
What
Apply business logic provided via #722 in drep list page.
How
Should have similar logic to proposal list.
Acceptance criteria.

I should be able to search via drep id
I should be able to filter out dreps for active, inactive, retired
I should be able to pass sorting (for a status, voting power, registration dat) to my drep list.

Checked here https://github.com/IntersectMBO/govtool/issues/221#issuecomment-2078889275


Changelog for version 3.1.1

It'd be nice to have a changelog for version 3.1.1.

Done, the change was replica's can no longer be set to 0 as that breaks the hashring.

Sorry to be a bean counter. The current line for the 3.1.1 changelog is Unknown, 2015 (3.1.0) but it should be Unknown, 2015 (3.1.1) or?


Android Java: 13.02 TextView fading animation Android Studio

Description
How to Create Fading TextView Animation Android Studio (Java)
Domain
Android Dev (Java)
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

@prince02765 please change the issue title from Android Java: 13.02 TextView fading animation Android Studio to Android Java: 13.04 TextView fading animation Android Studio


Setting up the DBs and dataset inside the Google Cloud Bigquery

McMaster library Dataset updated and created  at  macfaqchatbot-413001.mac_library_qna.libqna

Great Job @Yunfei-Ma-McMaster !


Suggest comScore debugging notification as feature request

As a developer I need a reliable official way to listen to comScore requests being sent, e.g. for unit testing purposes.
Acceptance criteria

A comScore debugging notification proposal has been made to comScore.

Tasks

[x] A feature request has been posted on the Apple repository.
[ ] A feature request has been posted on the Android repository.

Issue opened on the Apple repository. I asked whether opening a similar issue for Android is required.


Added expressions page

Added expressions page.
No HTML exported

No problem I'll export later today or tomorrow

See if you have my latest version, I already added flow control with expressions vs statements. You can merge your stuff in there since mine was just an example no text

I was so free to take the ternary operator quote and remove the rest. If I removed something you want to keep I'll revert or we can discuss tomorrow.
Mainly my goal was to keep simple examples as some are a bit hard to read in a glance.

Most of the later stuff was straight from the kotlin site and there to rifine anyway so fine with me ;)


com.coxautodev.graphql.tools.ResolverError: Expected source object to be an instance of 'com.xxxx.graphql.Query' but instead got 'java.lang.Object'

Hi guys
Amazing Library you have created, thank you so much.
I've been using it on a project just fine for weeks with the following config
springBootVersion = '1.5.10.RELEASE'
compile('com.graphql-java:graphql-spring-boot-starter:3.6.0')
compile('com.graphql-java:graphql-java-tools:3.2.0')
compile('org.codehaus.groovy:groovy-all')
However when i try to upgrade to Spring 2 i get the following error
com.coxautodev.graphql.tools.ResolverError: Expected source object to be an instance of 'com.xxxx.graphql.Query' but instead got 'java.lang.Object'
This is the configuration i am using with groovy
springBootVersion = '2.0.2.RELEASE'
compile('com.graphql-java:graphql-spring-boot-starter:4.2.0')
compile('com.graphql-java:graphql-java-tools:5.1.0')
compile('org.codehaus.groovy:groovy')
Any ideas what is causing this. I have not changed any of the graphql configuration ?

I have narrowed the problems down
Looks like i cannot do this anymore
@Component
class Query implements GraphQLQueryResolver {

}

@Component
class Mutation implements GraphQLMutationResolver {

    @Autowired
    Query query

    Query createUser(UserInput userInput) {
        userService.createuser(userInput)
        return query
    }

}

Notice i autowire the Query into the Mutation and return it on the Mutation call. I have it setup like this so I can do run another query on the response from my mutation. It is very usefull.
Use to work in old version now it does not work. If I do this my Query object gets mapped as a ResolverInfo of type DataClassResolverInfo instead of a RootResolverInfo. So line SchemaClassScanner of 181 prints out this error:

Root query resolver was provided but no methods on it were used in data fetchers for GraphQL type 'Query'!  Either remove the com.coxautodev.graphql.tools.GraphQLQueryResolver interface from the resolver or remove the resolver entirely: com.xxxx.graphql.Query@437e21d5

Hi, I encountered a very similar problem. Have you managed to solve this somehow?

I don't think nesting the top level types like that is supported. Closing for now.


Change API domain to discord.com

New guidelines sent to developers and bot owners has announced that Discord is retiring the discordapp.com URL by November.
Thus the discordapp.com references on the bot must be changed to discord.com.

It depends of Discord.js
There's an already merged pull request that changed the domain https://github.com/discordjs/discord.js/pull/4160 . However, it's still not in any release, (this pull request is from May, and the lastest version available on npm is from April) so we have to wait until a new release appears. Then, we must update the package.json to match that last version.
As you can see, for now we have to just wait :)

we still run on discord.js v11, so we'll also need to upgrade to v12 (though that would break puppeting) or use a fork that can handle user tokens.

there's a guide on the discord.js guide...

You can pass an options object to the client to change the domain if need be: https://discord.js.org/#/docs/main/v11/typedef/ClientOptions

November 7 is getting awfully close...

There are other complications involving gateways, but the PR to fix this is #626

This can be closed now, right?


RFC: extend support to all Jetsons

Note that I still consider this a work in progress, but I thought I'd get these changes up for review for some early feedback.
This patch series extends Mender support to all of the current Jetson development kits: TX1, TX2, Xavier, and Nano.
Key changes:

Supporting the non-U-Boot platforms (Xavier and TX2, where U-Boot is optional)
Supporting Nano dev kits with SPI flash+SDcard, with U-Boot environment residing in SPI flash.
Reworking the interface with nv_update_engine to eliminate the need for an ArtifactRebootEnter script.
For TX2s with U-Boot, adding a mechanism to handle the possibility that the U-Boot environment location changes with an upgrade.

I've done some testing both manually and OTA on TX1, TX2 with and without U-Boot, Nano, and Xavier.  Xavier has some issues that are probably not Mender-specific - this is the first time I've actually tried using the NVIDIA bootloader update support on that platform, and it looks like something may need fixing in meta-tegra.  Other platforms look OK so far.
During testing I ran into some issues that required fixes in meta-tegra, so if you play with these changes, make sure you're up-to-date with the zeus branch there.
A couple of things in particular I'd like feedback on:

I'm not 100% sure I've got the U-boot variable migration scripts completely right, particularly for the rollback case.  I'm willing to drop them altogether, since they're handling what is probably an uncommon use case.
I know @ecordonnier already has a pending PR for the warrior branch for Nano support, and that uses the SDcard for U-Boot environment storage... I can see why, since it was harder to coax the Mender stuff into having it reside in the SPI flash.  If that goes in, I can rework these changes to also use the SDcard for the environment (or make it an option).
I ran into some issues with the tegra-state-scripts recipe not propagating changes, particularly when I was deleting scripts. I was thinking of moving the installation and deployment of the scripts to recipes that need them, rather than having this separate recipe, which I think would improve the reliability.

Nice changes! I am back from holiday on the 6th and should have some time to review the branch.
Regarding the u-boot environment being in the SD-card in my PR, the reason I chose the SD-card instead of the SPI flash is that currently, in the company I am working for, only the SD card is flashed to provision a new Jetson Nano, and the SPI flash is left in its factory state. AFAIU having the environment in the SPI flash would add one more step to the provisioning process without any advantage for our use-case.
In the past, as I worked on projects having different machines/models using the same module but a different carrier-board, we solved this by using some identification resistor on the carrier-board connected to some GPIO of the module so that the software on the module could recognize the carrier-board, rather than by storing the machine ID in the SPI flash on the carrier-board. This has the advantage that it is more robust than storing the machine ID in software.
However maybe you have different use-cases in mind for which such an approach would not be feasible or less easy than storing the ID in the SPI flash.

@madisongh Thanks for sharing!  This is great! I just read through, haven't tried the changes myself yet.

I'm not 100% sure I've got the U-boot variable migration scripts completely right, particularly for the rollback case. I'm willing to drop them altogether, since they're handling what is probably an uncommon use case.

Heroic efforts to handle this!  I'd be less worried about them not working properly as I would be that they could somehow overwrite an area they shouldn't overwrite, although I can't think of a specific scenario where this would happen or would cause problems.  If anything I'd say keep them in git and just remove from do_compile_append with a comment saying they aren't fully tested.

I know @Ecordonnier already has a pending PR for the warrior branch for Nano support, and that uses the SDcard for U-Boot environment storage... I can see why, since it was harder to coax the Mender stuff into having it reside in the SPI flash. If that goes in, I can rework these changes to also use the SDcard for the environment (or make it an option).

I don't have a strong opinion on this one, but since it's useful for @Ecordonnier to have this option it seems like it would be worth keeping it.

I ran into some issues with the tegra-state-scripts recipe not propagating changes, particularly when I was deleting scripts. I was thinking of moving the installation and deployment of the scripts to recipes that need them, rather than having this separate recipe, which I think would improve the reliability.

Fine with me.

I just read through, haven't tried the changes myself yet.

I tried today, using cboot-prebuilt configuration on TX2.
I scp'd in the .mender file to the /tmp directory, then ran this command
mender -install /tmp/core-image-base-jetson-tx2.mender -log-file /data/mender-install.log -log-level debug

This completed successfully.
I see this output from nvbootctrl after the command is run
root@jetson-tx2:~# nvbootctrl get-current-slot
0
root@jetson-tx2:~# nvbootctrl dump-slots-info
magic:0x43424e00,             version: 3             features: 3             num_slots: 2
slot: 0,             priority: 14,             suffix: _a,             retry_count: 7,             boot_successful: 1
slot: 1,             priority: 15,             suffix: _b,             retry_count: 7,             boot_successful: 0
root@jetson-tx2:~#

Here's mender-install.log
I then rebooted, here's an example reboot log:
reboot-after-update.log
At this point I'm still on /dev/mmcblk0p1 for /.  I was expecting to go to the APP2 partition for the rootfs in mmcblk0p30.
I also noticed I'm still on slot 0 after the reboot, was expecting to go to slot 1
root@jetson-tx2:~# nvbootctrl get-current-slot
0

and I noticed the retry counter went to 0 on slot 1
root@jetson-tx2:~# nvbootctrl dump-slots-info
magic:0x43424e00,             version: 3             features: 3             num_slots: 2
slot: 0,             priority: 14,             suffix: _a,             retry_count: 7,             boot_successful: 1
slot: 1,             priority: 15,             suffix: _b,             retry_count: 0,             boot_successful: 0
root@jetson-tx2:~#

I don't understand how the root filesystem is supposed to be setup in the cboot case.  I see that fw_printenv and fw_setenv u-boot-fw-utils-fake files just use a /var/lib/mender/upgrade_available marker file which doesn't look like it will have anything to do with rootfs partition selection.  I can see logic related to finding the other boot partition in redundant-boot-install-script but I don't see how this gets reflected in cboot or in the boot process, and I don't see anything about setting the application partition for the rootfs in the Bootloader Update section of the nvidia documentation based on nv_update_engine --install
Any pointers are appreciated.  This is the first time I've tried to use cboot only as bootloader so I'm probably missing something obvious.

From the reboot log, it looks like there was something wrong with the BUP payload:
[ 1338.562920] reboot: Restarting system
[0000.200] C> ERROR: Highest Layer Module = 0x40, Lowest Layer Module = 0x40,
Aux Info = 0x0, Reason = 0xd

which caused the bootloader to revert back to slot 0.... the slots info you see reflect the unsuccessful boot.
The boot-time rootfs selection for the cboot case is driven by the boot slot.  cboot passes the current boot slot as a kernel command line parameter, and the init script in the tegra-minimal-initramfs initrd uses that to decide which rootfs to mount.  My posted changes may be missing something there, though, since the script in meta-tegra by default expects the slot 1 rootfs partition to be labeled APP_b instead of APP2.

I checked the code and didn't find any issue in the logic. Also see my comment, basically since my branch and yours are not compatible I think only your branch should get merged.
Feel free to take over the README.md change of my branch as well as update the wiki entry for jetson-nano once you send a PR to the upstream repository.
Regarding the u-boot environment I still think it would be better to have it in the sd-card (one step less for provisioning, meaning reduced cost of provisioning and reduced risk of error).

@dwalkes I ran a bunch of tests today after reproducing the issue you're seeing.  Looks like it might be related to the issue I was seeing on my Xavier.  I don't see the issue with the TX2 I have set up for secure boot, though - bootloader updates work fine there (although my setup for that machine is a bit different from the default).
Bootloader updates also work fine on both Xavier and TX2/cboot when I don't include meta-mender-core/meta-mender-tegra in my layers.  And they appear to work fine when using TX2/U-Boot with the mender stuff.
I'm not sure what's going on yet.  I'm going to run some comparisons of the built artifacts from working vs. non-working builds and see if that will point me in the right direction.

Thanks @madisongh I spent a bit of time on it last night mostly just understanding more about how bup creation works in tegra.  I was planning to take out mender layers as a next step which it looks like you already did.  I should have more time to spend on it this weekend if you haven't solved by then.  Were you able to find out what Reason = 0xd means in the MB1 error log?  All I could find was this post and the resolution there doesn't completely make sense to me.

Assuming NV uses the same error codes in whatever code is reporting that as they do in cboot, 0xd is ERR_NOT_FOUND.  And the module identifier 0x40 could be AUTH, which (from perusing the cboot source) is related to the digital signature checking done at boot time.  That post you linked to might be a clue, too... maybe something to do with the partition table?

I tracked down the problem and will push updates to address that and the other issues reported here shortly.

So "shortly" turned out to take longer than I expected, but I've pushed changes for:

Fixing the issue with non-U-boot devices -- the problem was with a discrepancy in setting the size of the APP partition between the real image and the initrafms image (which is where BUP payloads get generated for the cboot devices).  The MB1 Boot Control Table used by the first-stage bootloader includes pointers to boot partitions located in the eMMC as direct offsets from the start of the eMMC (no reading of the GPT).  Since the boot partitions come after the APP partition, sizing it differently in the two contexts caused the problem.
Removing the state scripts that did U-Boot environment variable migration, per earlier discussion.
Adding in a setting for allowing SDcard-resident U-Boot environment on Nanos.

I also did some fault injection testing and made additional changes to the state scripts to better handle update failures and rollbacks.  In particular, there are checks to make sure that we don't let the Tegra A/B boot slot get out of sync with Mender's for different failure scenarios.
I'll run some further tests this weekend, but this latest should be in reasonable shape.

Thanks @madisongh!
I can confirm this fixes issues I noticed with cboot TX2 related updates.  I've also tested TX2 u-boot, Nano with and without TEGRA_MENDER_UBOOT_ENV_IN_SPIFLASH and rollback in each scenario, all worked for me.  I don't have an Xavier platform to test with but based on the relatively small number of changes from TX2 I'm not expecting issues with that platform.
I started a conversation on mender hub to get some feedback on the fake fw_printenv/fw_setenv approach here.
You are of course welcome to add your name to the maintainer list if you like but I'm guessing you have enough on your plate with meta-tegra.  If you did want to maintain this it might make more sense to make it a part of meta-tegra.  If not I'll plan to continue to maintain as I can through meta-mender-community.
Thanks for sharing your expertise and massive improvements with these contributions, very much appreciated!

I've pushed a handful a fixes for problems that cropped up in my testing this weekend.  With these changes, Jetson-TX1 now updates properly, and the one system I have with a custom flash layout that hard-codes the value for ROOTFSPART_SIZE also works.   Retested across all my devices this morning with these changes, all check out.
Let me know if you'd like me to rebase these changes and either re-push to this PR or open up a new one with the cleaned-up history.

Thanks @madisongh

Let me know if you'd like me to rebase these changes and either re-push to this PR or open up a new one with the cleaned-up history.

No need as far as I'm concerned.  Assuming you want to keep these changes in meta-mender-community I think we need to wait for them to add a zeus branch before submitting a PR there.  Depending on what happens with https://github.com/mendersoftware/meta-mender-community/pull/119 I'll rebase these changes on top of warrior as needed.

You are of course welcome to add your name to the maintainer list if you like but I'm guessing you have enough on your plate with meta-tegra. If you did want to maintain this it might make more sense to make it a part of meta-tegra. If not I'll plan to continue to maintain as I can through meta-mender-community.

Let's keep it separate, although I'm open to making changes in meta-tegra to simplify the integration where it makes sense to do so.  As you say, I already have my hands full, so I'm fine with handing off the ongoing maintenance, but feel free to reach out if you need something.

I've opened #11 to track what I plan to merge on the zeus branch, targeting l4t r32.3.1 and reverting previous merges for warrior support before applying the changes on @madisongh zeus-l4t-r32.3.1 branch

Flash layouts changed quite a bit between R32.2.x and R32.3.x, so OTA upgrades between them aren't going to be possible without a bunch of work (and even then, maybe not).

I've been able to make this work by using an R32.3.1-based flash layout XML file for my R32.2.x builds.


stm32: Convert boards to HW model V2 (stm32f0)

Initial change to migrate STM32 based boards to HW model V2.
Only impact stm32f0 series for now

Kconfig.<board> files generation to be reviewed

@tejlmand PTAL

@nordicjm, @tejlmand PTAL


500 Error with wrong parent

Hello.
I use latest stable version with Docker setup.
I found that internal sqlite table does not use any constraints on parent column of table comments which may be a problem in two cases.

DB is corrupted and one of the parents is not valid.
Someone trying to add comment with invalid parent.

I tried second case with curl and got 500 Error on client and stacktrace below on server
2022-01-29 22:57:29,824 ERROR: POST /new
Traceback (most recent call last):
  File "/isso/lib/python3.8/site-packages/isso-0.12.5-py3.8.egg/isso/__init__.py", line 147, in dispatch
    response = handler(request.environ, request, **values)
  File "/isso/lib/python3.8/site-packages/isso-0.12.5-py3.8.egg/isso/views/comments.py", line 88, in dec
    return func(self, env, req, *args, **kwargs)
  File "/isso/lib/python3.8/site-packages/isso-0.12.5-py3.8.egg/isso/views/__init__.py", line 45, in dec
    return func(cls, env, req, *args, **kwargs)
  File "/isso/lib/python3.8/site-packages/isso-0.12.5-py3.8.egg/isso/views/comments.py", line 307, in new
    rv = self.comments.add(uri, data)
  File "/isso/lib/python3.8/site-packages/isso-0.12.5-py3.8.egg/isso/db/comments.py", line 57, in add
    if ref.get("parent") is not None:
AttributeError: 'NoneType' object has no attribute 'get'

Steps to reproduce:

Start Docker instance of isso (on http://<IP_ADDRESS>:8080/ for example)
POST request http://<IP_ADDRESS>:8080/new?uri=%2Fbase.html with valid comment and wrong parent. I used "Copy as cURL" button on Firefox Web Tools and replaced null with some invalid id (42 for example)

@AlekseyLobanov thank you for your report.
Would you mind working on a fix and submitting a PR?

Related: https://github.com/posativ/isso/issues/531

@AlekseyLobanov would you like to work on a PR?

Copying over from #531, quoting @budui

I am porting isso from Python to Go. While testing I noticed that if I specify a wrong parent(existed but different thread) for the new comment, the new comment will be added successfully but can't be retrievaled with uri.

Maybe we need to check whether the tid of new comment and parent's tid are consistent
https://github.com/posativ/isso/blob/6092881bb205c999a8f7f086dd5d20f686d641ea/isso/db/comments.py#L49-L52

Tracked in https://github.com/posativ/isso/issues/885


Support for syntax highlighting in markdown documents

Is your feature request related to a problem? Please describe.
The following section is not highlighted in an .md document
> ```kotlin
> var x=3
> ```

Describe the solution you'd like
Sytax highlighting support for kotlin in markdown documents.
Describe alternatives you've considered
Additional context

This seems to be a limitation of VSCode, since the grammars supported by fenced code blocks are baked into the Markdown grammar.

Fixed by https://github.com/fwcd/kotlin-language-server/commit/3a4c0640c6f8462ee4e5eb49fc431e480408a4f0 and d7aa439ee84d8e2c78e5b5a45c311051a62b644e.


Cannot add right border to merged cell

It appears if I merge two cells, I can no longer add a right border to it. It does appear that bottom borders still work.
workbook = RubyXL::Workbook.new
worksheet = workbook[0]
worksheet.merge_cells(1,1, 1,2)

cell = worksheet.add_cell(1,1, '')
cell.change_border(:right, :thin)

workbook.write('test.xlsx')

I have noticed that if I initialize the 2nd cell in the merge and add the border to that, it works.
cell = worksheet.add_cell(1,2, '')
cell.change_border(:right, :thin)

Is it possible to add borders to a merged cell without initializing empty data in the cells behind the merge?

Afraid not.


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v4.12 to before v5.10.88",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cf124db566e6b036b8bcbe8decbed740bdfac8c6",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6f46c59e60b64620d5d386c8ee2eaa11ebe3b595"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "cf124db566e6b036b8bcbe8decbed740bdfac8c6",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "6f46c59e60b64620d5d386c8ee2eaa11ebe3b595",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "sit: do not call ipip6_dev_free() from sit_init_net()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.88 by commit 6f46c59e60b64620d5d386c8ee2eaa11ebe3b595, it was introduced in version v4.12 by commit cf124db566e6b036b8bcbe8decbed740bdfac8c6. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002705


Installing on Mac

Hi there,
I am trying to install label-studio and label-studio-sdk on my MacBook (macOS Monterey 12.3.1) but failed due to the following error.
In file included from /var/folders/zd/7fp9pbsj50vc4_nd3dcj_9csxmxts6/T/xmlXPathInit4v78cv_p.c:1:
In file included from /opt/local/include/libxml2/libxml/xpath.h:26:
In file included from /opt/local/include/libxml2/libxml/xmlerror.h:10:
In file included from /opt/local/include/libxml2/libxml/parser.h:810:
/opt/local/include/libxml2/libxml/encoding.h:31:10: fatal error: 'unicode/ucnv.h' file not found
#include <unicode/ucnv.h>
^~~~~~~~~~~~~~~~
1 error generated.
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
Perhaps try: xcode-select --install
*********************************************************************************
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for lxml
Running setup.py clean for lxml
Failed to build lxml
ERROR: Could not build wheels for lxml, which is required to install pyproject.toml-based projects
I am doing pip install in a conda environment. The environment info is given below. The xcode is up-to-date and I also brew installed libxml2. Any help or suggestion is greatly appreciated.
(label-studio) MA080LWJHD2:bin hao_yan$ xcode-select --version
xcode-select version 2395.
(label-studio) MA080LWJHD2:bin hao_yan$ python -V
Python 3.11.3
(label-studio) MA080LWJHD2:bin hao_yan$ conda -V
conda 4.13.0

Problem solved after conda install icu.


Feature Request - Mass Actions (Delete, Star)

Hello,
Huge thanks for this UI, I really enjoy it!
Would you please consider add a feature to remove,star,... multiple images at once ?
Thanks!

This would be a huge QOL improvement. It would also be nice to be able to apply an operation to all images found with the filter, rather than just shift/control select.

I would also love to see this functionality - another one would be the ability to select a folder in the image history list and delete that entirely - using a sub menu or icon (with alert to confirm :D)


core.transfers table has hadm_id not include in core.admission table

In document, admission table can be considered as a definition table for hadm_id.
I think all hadm_id include in admission table.
But in transfers table contain hadm_id there is not include in admission table.
query
select hadm_id,
    max(t1.hadm_id) as admission_id,
    max(t2.hadm_id) as transfers_id
from mimic_core.admissions t1 full join mimic_core.transfers t2 using(hadm_id)
where t1.hadm_id is null or t2.hadm_id is null
group by hadm_id

result
core table issues.xlsx
Is this the intended phenomenon?
If so, please explain.

Good catch, this shouldn't happen. I think these stays are related to the MIMIC-ED component which we plan to release in the next few months. They weren't supposed to be in v0.4!

Fixed in MIMIC-IV v1.0. https://mimic-iv.mit.edu/docs/overview/changelog/#mimic-iv-v10


Truncation except order matters?

I just setup a new clean Rails app, but against a legacy database where I want to keep some pretty static "seed" data. At least until I move them over as seeds or migrations in Rails.
It seems like
    DatabaseCleaner.clean_with(:truncation, {:except => %w[apples, bananas, clementines]})
    DatabaseCleaner.strategy = :truncation, {:except => %w[apples, bananas, clementines]}

is not the same as
    DatabaseCleaner.clean_with(:truncation, {:except => %w[apples, clementines, bananas]})
    DatabaseCleaner.strategy = :truncation, {:except => %w[apples, clementines, bananas]}

The top config works as expected for me whereas the second kept truncating the apples and clementines but leaving bananas alone.
If this seems odd, I would love to get some tips on how to troubleshoot why I get this behavior.

Note: All table names have been changed to protect the innocent.

@eimermusic My first thought is that this is due to a mistake in your syntax. When you are using the %w[] syntax, you must omit the commas, otherwise, they are considered part of the string. For example:
%w[a, b, c] == ["a,", "b,", "c"] # => true
%w[a b c] == ["a", "b", "c"] # => true

Try removing the commas from your arrays, and then see if your issue is resolved.

Closing, assuming that this resolved your issue.

Good catch... thanks!


Improves #2440 - unit tests for PostToEventStreamStepImpl

Added   test("process running notification of missing task") { ... to achieve 100% coverage of that class.

updated the PR according to your suggestions.

LGTM, please address the above comments and I'll merge.


The version "latest" couldn't be reached, there are no registered migrations.

Hello, I have a problem with migrations. When I trying to do migration I have an error. Also, migrations directory is empty.
/opt/app # php bin/console doctrine:migrations:migrate

 WARNING! You are about to execute a database migration that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:
 > yes

 [ERROR] The version "latest" couldn't be reached, there are no registered migrations.

How I can resolve it?

Hello, are you using the 1.1.5 version ? The issue should be solved in this version.

Hello,
Have you been able to make it work ?


Error after PUT /api/clients/deluge

Error description:
{
"title": "NotSettable",
"description": "Client plugin 'deluge' doesn't support settings"
}

Damn :-1: , but this doesn't affect functionallity. And settings successfully saved.
We will fix this in nearest release.


Display toast when seed already exists

Fixes / required changes:

Issue #585

Description
Changes were introduced to display a toast overlay when the user loads an already existing seed. The toast is displayed in the Seed Options view for 5 seconds or until dismissed by user action:

Some timing change had to be made in the toast BaseToastOverlayManagerThread.run method to avoid the previous user action with the buttons to cancel the toast display. An additional 0.1 seconds timer works nice, although I'm not really sure this is the best way to avoid this.
Changes should be made to the screenshot generator fails when adding this view with toast. I haven't managed to get this to work. The screenshot was indeed generated but inmediately after, it crashes. Would love some feedback here.
To do:

[x] Make screenshot generator work
[x] seedsigner-icons.otf should be updated to include an "Info" icon, so this would be used instead the exclamation mark

This pull request is categorized as a:

[ ] New feature
[ ] Bug fix
[ ] Code refactor
[ ] Documentation
[x] Other

Checklist

[x] I’ve run pytest and made sure all unit tests pass before sumbitting the PR

If you modified or added functionality/workflow, did you add new unit tests?

[ ] No, I’m a fool
[ ] Yes
[x] N/A

I have tested this PR on the following platforms/os:

[x] Raspberry Pi OS Manual Build
[ ] SeedSigner OS on a Pi0/Pi0W board
[ ] Other

Note: Keep your changes limited in scope; if you uncover other issues or improvements along the way, ideally submit those as a separate PR. The more complicated the PR the harder to review, test, and merge.

The screenshot was indeed generated but inmediately after, it crashes

Stabbing in the dark here without actually testing the theory, but looking at the code, maybe variable toast_thread is lingering between loop iterations.
In the screenshots where toast is working fine, they're 4-tuples and followed immediately by strings... so the toast_thread variable doesn't get reset to None.  But in your example, yours is followed by a 3tuple so it never drops into the else clause to reset toast_thread.  Maybe for 2tuples and 3tuples, just default toast_thread=None???

This draft is working for me, and is slick, as of 0e21b45
Moving the toast_thread = None from the else clause to the first step in for screenshot in screenshot_list: loop fixes the screenshot generator so that it continues.

True! Thank you @jdlcdl!
I'll update with this change since it seems that there are no unwanted effects.

Brilliant work, @alvroble! This is a great QoL improvement.
Thanks @jdlcdl for fixing the screenshot generator! Hopefully this fixes my toast modification issues as well.
@alvroble Are you open to a few minor visual tweaks on the component?

Text color: BODY_FONT_COLOR
Left/right padding: 8px (COMPONENT_PADDING)
Top/bottom padding: 4px

Thanks for you comments @easyuxd @jdlcdl!
@easyuxd I'm going to try and look into it, although this settings seems to be configured in the base class ToastOverlay, so maybe this implies modifications in the base class or a deeper code refactor; but just saying at first glance. I will check it and try to adapt.

@easyuxd
Just made some tests about the sizes since it really seemed weird the difference between top/left padding. Found out this behavior that changes when there are characters that dip below baseline. For a quick comparision, note the subtle difference:

This is due to a piece of code in the TextArea class that adjusts the text height, ensuring no characters are cut off by the UI borders:
https://github.com/SeedSigner/seedsigner/blob/100a9740e70e3c7119eab0f8b0ad262f72a35b7e/src/seedsigner/gui/components.py#L347-L349
This seems to imply that a significant refactor is necessary.
The same applies more or less to the color proposal, though it may be achievable. Currently, the icon, outline, and text color are bound together in the ToastOverlay. To achieve what you proposed, I could make a small refactor to the toast file (https://github.com/SeedSigner/seedsigner/blob/dev/src/seedsigner/gui/toast.py) and unbind the text color from the icon and outline color. However, I'd like to get feedback from the other devs on this point.

Big thanks for investigating this, @alvroble.
@kdmukai: Are you open to a refactor of the toast component as part of the larger messaging overhaul in the next release? I have all the message categories defined, would be ideal to align this component for use cases like this informational toast.

Just included the "info" icon in the last commit. Updated seedsigner-icons.otf file.

NACK, unless I'm misunderstanding something.
Scenarios:

naked seed already loaded, user's intention is to (re)load the naked seed (i.e. doesn't realize it's already loaded, demos, etc).
naked seed already loaded, user wants to load that seed + bip39 passphrase
seed + bip39 passphrase already loaded, user loads same seed w/same bip39 passphrase (i.e. same as first scenario, but w/passphrase)
seed + bip39 passphrase already loaded, user's intention is to load and use the naked seed
seed + bip39 passphrase already loaded, user wants to reload and apply a different bip39 passphrase

This proposed toast UX clears up confusion in scenario 1 but completely prevents the user from accomplishing scenario 2.
@easyuxd's earlier interstitial UX concept would notify the user if it's scenario 1 but could still provide a path for scenario 2.
But the real fix to me seems more like:

User loads a seed that's already in memory
User sees the usual Finalize Seed options
If they click Done (they've reloaded an existing naked seed), no need to show any UI info, just proceed to the Seed Options view. Internally we should basically ignore this reloading (we obv don't want the same seed loaded into two memory slots). But overall no harm, no foul.
If they opt to add a bip39 passphrase, the end result is a totally different key anyway. So, again, no need for any UI prompt.
Same treatment for the scenarios where there's already a seed + bip39 passphrase loaded:

user enters same combo, silently handle the redundancy and move on, as above
user skips passphrase, naked seed now loaded
user enters a different bip39 passphrase, load it as a new key.

Note: Separate from this specific functionality, if the toast component could be improved with some refactoring, by all means that's a worthwhile improvement on its own.
*caveat: I have not looked into the tweaks discussed here, though I do remember agonizing over how to space out two-line toast messages when we were first implementing the feature. Decisions about pixels below the baseline are always hard to balance.

NACK, unless I'm misunderstanding something.

As I understand it, it already covers the scenarios you mention.  In fact, this branch feels exactly as it would feel w/o the branch EXCEPT for the added info that the seed was already loaded once you land into the seed options menu.  For comparisons, it's not using the mnemonic alone, it's actually checking if the pending_seed is already in seeds (so it's checking mnemonic, passphrase, even the 64byte seed that gets fed into bip32... and the INFO message is only being shown if that seed exact mnemonic/passphrase/root-bip32-wallet had already been loaded).
If the nack is about the added INFO, I can understand that.  I've done it and I never found it alarming, but I can see that others might load a seed, then load another being the exact same thing, and wondering why they cannot find their 2 seeds.  For those folks... LEARN YOUR FINGERPRINTS, you'll thank me later.

Okay, then let me back up: @easyuxd why do you say "This can appear jarring and introduces potential confusion" in #585?
When I read that issue I assumed there must have been some short-cut UI jump that skipped past some part of the Load Seed flow if the new seed was already loaded and it was that short-cut that was jarring (I couldn't remember if there was anything like that implemented but it seemed possible).
But now that I've taken a look at the changes here (and thanks to @jdlcdl's explanation), I just don't see why there's any "potential confusion" at all in the first place.
Or does this have to do with resuming an expected flow (e.g. scan a psbt, then opt to load a seed (even though it's already onboard), fails to properly resume psbt flow...?)?

Thank you for your comments @kdmukai and @jdlcdl !
@kdmukai I believe I don't get what you meant by saying "completely prevents the user from accomplishing scenario 2". As @jdlcdl says, this toast activates in the SeedOptionsView for both scenarios, as the pending_seed variable is used for comparison.
The most important use case for this feature, in my opinion, is when a user loads several wallets that share the same seed but use different BIP39 passphrases. The user will be notified if they accidentally load an existing seed + BIP39 passphrase that has already been loaded.
So, I believe the approach with this informative toast is simply to make the user's life easier (not at all needed, bit a tiny QoL improvement) while maintaining the current internal management of the seed as it is. The only difference is that, after loading a seed or seed + BIP39 passphrase, in the SeedOptionsView the user will see this toast if the actual seed or seed + BIP39 passphrase was already loaded.
@kdmukai I understand what you say about not being a potential confussion right now. The current handling of this case is clear, and the user is taken directly to the SeedOptionsView, but in my opinion this toast might help a distracted user realize that they’re loading an existing seed without disrupting the flow.

I'd like to first say great work @alvroble on this PR. I appreciate your contribution here whatever the outcome of this PR ends up being. I also love the continued contributions by @easyuxd as usual!
I'm going to use the term "seed" below to represent full mnemonic + passphrase combination.
I find very little confusion when adding the same seed twice and having the workflow go straight to the seed options menu on second entry. This is especially true when I'm in the habit of comparing/knowing fingerprints when selecting the seed from the list of seeds. I believe the main workflow this PR improves is the one where you enter more than one seed into SeedSigner and are mentally tracking the order seeds entered instead of by fingerprint. If you were to accidentally add the same seed twice it would throw you off and cause confusion about which seed you want to select. For example, if you think you scanned in 4 seeds but now only have 3 unique seeds listed, you'd be confused about which seed you missed (unless you had fingerprints for each seed).
All this said I do find the UI of this PR to be slick and not to cause any confusion or additional clicks. I think the improvement is tiny, but still an improvement. I support the direction of this PR and think this kind of UI paradigm would beneficial in many other places in SeedSigner workflows. It provides a slight bit more context in a workflow without interruption.
I believe the main hurdle to have this PR merged will be implementation details. Figuring out where and how much to refactor around toast messages.


Update dropdowns #265

fixes #265 & #266
@rhernand3z / @ktp242 you're just added on for completion. feel free to review and let me know if you see anything wildly out of order.

For the sorter, the description and select dropdown are not vertically aligned to each other.

Ah, and fix tests.


Change header to Travelr

Codecov Report

Merging #100 (480b5b2) into master (17f5c99) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #100   +/-   ##
=========================================
  Coverage     43.79%   43.79%
  Complexity      373      373
=========================================
  Files           106      106
  Lines          1918     1918
  Branches        186      186
=========================================
  Hits            840      840
  Misses         1006     1006
  Partials         72       72

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Simplify description routes

The way I originally did these has been annoying me for awhile, super verbose.
Getting it closer to Rails defaults, and therefore less verbose, required changing the parent (name/location) param name from id to name_id/location_id for a couple routes, and allowing Rails to compose the route names. Much better, though.

coverage: 94.394%. remained the same
when pulling a4c6b59c1cb835624ddda24e6c83cf0bcc9b1dc5 on nimmo-description-routes
into a2a9bb1d5866bb5a5c6d2f18d596f824502f72d8 on main.


Register for an account in the same interview

Similar to how we did the Payments stuff in the same interview, we should consider letting people register for a new account in the same interview.
The different interview approach is easy from a development standpoint, but it disorients users, who aren't sure how to get back to the main interview and are now in the wrong tab.

Agreed! I think I'm responsible for this original choice and it was only meant as a placeholder to get through the certification.


”Orașu Nou”, ”Orașu Nou-Vii”, ”Prilog”, ”Prilog-Vii”, ”Remetea Oașului” are listed in the drop-down menu

Description:
When user writes ”Orașu Nou”, ”Orașu Nou-Vii”, ”Prilog”, ”Prilog-Vii”, ”Remetea Oașului” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Orașu Nou"

Expected results
The location appears in the drop-down menu as "Sat Orașu Nou, SATU MARE (Orașu Nou)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Orașu Nou-Vii"

Expected results
The location appears in the drop-down menu as "Sat Orașu Nou-Vii, SATU MARE (Orașu Nou)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Prilog"

Expected results
The location appears in the drop-down menu as "Sat Prilog, SATU MARE (Orașu Nou)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Prilog-Vii"

Expected results
The location appears in the drop-down menu as "Sat Prilog-Vii, SATU MARE (Orașu Nou)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Remetea Oașului"

Expected results
The location appears in the drop-down menu as "Sat Remetea Oașului, SATU MARE (Orașu Nou)".


AttributeError: Cannot assign non-existing field of the object: TransactionInfo.Message

Although the documentation does not mention the Message key, eWAY support confirmed that the ResponseMessage is only returned when there is an actual validation error/transaction response to report and that we should therefore expect the Message key.
eway.rapid.payment_method.transparent_redirect.TransactionInfo will need to accept such attribute, or map it to ResponseMessage if that makes sense and won't break other assumptions?
We might also want to:

add a custom error code (and update the lookup)
set TransactionStatus accordingly

For background, the full response we could observe so far was {"Message":"Access Code Not Found","Errors":null}.

Well yes. The lib was written in accordance with the documentation. No reverse engineering was performed, so I think we could definitely patch that, especially if support says so.


Is Telepathy the better choice?

I just found out that Telepathy exists, is this better than what I'm doing here?

UDP (Transport Layer)

Doesn't guarantee data delivery / ordered data
Fast / does not wait for previous data to be sent successfully

TCP (Telepathy)

High chance of correct data delivery
Slow / waits for all previous data to be sent before sending next packets


fix: autoupdate is broken due to changed GHA behaviour

The auto update does not work anymore. Unfortunately, the pipeline is still reported as successfully... thus we have to manually update all repositories.

This solution is much much simpler and has not external dependency. See https://github.com/UnicornGlobal/has-changes-action/issues/5 for more information.

@escaped I posted the solution in the referenced issue. For information, git status --porcelain | wc -l returns the number of untracked and modified files.
So if the following step checks like if: steps.changes.outputs.changed == 1, it only checks whether the number of untracked and modified files is equal to 1. So I believe, if there is no particular corner case, it should be changed != 0 or changed > 0, in general.


device of 'edge_index' is changed when' edge_index' is empty

🐛 Bug

To Reproduce
Steps to reproduce the behavior:
import torch
from torch_geometric.nn import EdgeConv
import torch.nn as nn
import torch.nn.functional as F
from torch_geometric.data import Data

class MLP(nn.Module):
    def __init__(self, F_in, F_out):
        super(MLP, self).__init__()
        self.mlp = nn.Sequential(
            nn.Linear(2 * F_in, F_out),
            nn.ReLU(inplace=True))

    def forward(self, x):
        return self.mlp(x)

class TestBlock(nn.Module):
    def __init__(self, F_in, F_out):
        super(TestBlock, self).__init__()
        self.edge_conv1 = EdgeConv(MLP(F_in, F_out),aggr='mean')
        self.edge_conv2 = EdgeConv(MLP(F_out, F_out), aggr='mean')
        self.fc = nn.Linear(F_out, 16)

    def forward(self, data):
        x = data.x
        edge_index = data.edge_index
        x = self.edge_conv1(x, edge_index)
        x = self.fc(self.edge_conv2(x, edge_index))
        return x

d = torch.device('cuda:1')
block = TestBlock(4, 8).to(d)
edge_index = torch.tensor([[], []], dtype=torch.long)
data = Data(x=x, edge_index=edge_index)
y = block(data.to(d))

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-34-d1a9b2a113f2> in <module>
      1 edge_index = torch.tensor([[], []], dtype=torch.long)
      2 data = Data(x=x, edge_index=edge_index)
----> 3 y = block(data.to(d))
      4 print(y)
      5 print(data.edge_index.data)

~/miniconda3/envs/py36_pytorch110/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    491             result = self._slow_forward(*input, **kwargs)
    492         else:
--> 493             result = self.forward(*input, **kwargs)
    494         for hook in self._forward_hooks.values():
    495             hook_result = hook(self, input, result)

<ipython-input-31-b450444a54a6> in forward(self, data)
     24         edge_index = data.edge_index
     25         x = self.edge_conv1(x, edge_index)
---> 26         x = self.fc(self.edge_conv2(x, edge_index))
     27         return x

~/miniconda3/envs/py36_pytorch110/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    491             result = self._slow_forward(*input, **kwargs)
    492         else:
--> 493             result = self.forward(*input, **kwargs)
    494         for hook in self._forward_hooks.values():
    495             hook_result = hook(self, input, result)

~/miniconda3/envs/py36_pytorch110/lib/python3.6/site-packages/torch_geometric/nn/conv/edge_conv.py in forward(self, x, edge_index)
     42         x = x.unsqueeze(-1) if x.dim() == 1 else x
     43
---> 44         return self.propagate(edge_index, x=x)
     45
     46     def message(self, x_i, x_j):

~/miniconda3/envs/py36_pytorch110/lib/python3.6/site-packages/torch_geometric/nn/conv/message_passing.py in propagate(self, edge_index, size, **kwargs)
     99                         raise ValueError(__size_error_msg__)
    100
--> 101                     tmp = torch.index_select(tmp, 0, edge_index[idx])
    102                     message_args.append(tmp)
    103             else:

RuntimeError: arguments are located on different GPUs at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/generic/THCTensorIndex.cu:521
'''

## Expected behavior

<!-- A clear and concise description of what you expected to happen. -->

## Environment

* OS:   Linux 16.04
* Python version:  3.6
* PyTorch version: 1.1.0
* CUDA/cuDNN version:  9.0
* GCC version:  5.4.0
* Any other relevant information:

## Additional context

<!-- Add any other context about the problem here. -->
Maybe there are some problems in initialization, and I find some interesting thing in the function:
 `gen` in  `torch_scatter/utils/gen.py`

def gen(src, index, dim=-1, out=None, dim_size=None, fill_value=0):
dim = range(src.dim())[dim]  # Get real dim value.
# Automatically expand index tensor to the right dimensions.
if index.dim() == 1:
    index_size = list(repeat(1, src.dim()))
    index_size[dim] = src.size(dim)
    index = index.view(index_size).expand_as(src)

# Generate output tensor if not given.
if out is None:
    out_size = list(src.size())
    dim_size = maybe_dim_size(index, dim_size)
    out_size[dim] = dim_size
    out = src.new_full(out_size, fill_value)

return src, out, index, dim

The device of the index.data is 'cuda:1' before `index.view(index_size)` , but after that it changes to 'cuda:0' while the device of `index` is still 'cuda:1'.

B.T.W, if the 'edge_index` of the first sample fed to the network is not empty , the bug is gone.

edge_index = torch.tensor([[0], [1]], dtype=torch.long)
data = Data(x=x, edge_index=edge_index)
y = block(data.to(d))
edge_index = torch.tensor([[], []], dtype=torch.long)
data = Data(x=x, edge_index=edge_index)
y = block(data.to(d))
print(y.device)
print(data.edge_index.data)

The output:

cuda:1
tensor([], device='cuda:1', size=(2, 0), dtype=torch.int64)

Thanks for reporting. I will look into it, but may take a while since I currently do not have access to multi GPUs. I am wondering why the view call should have an effect on the device type of the tensor.

hello @ZongweiZhou1 @rusty1s
I try to reimplement the code provided from @ZongweiZhou1
here is the code (since he does not mention what x is in his code, I add x here.)
first: my enviroment:
OS: Ubuntu 16.04
Python: 3.6.4
PyTorch: 1.0.1.post2
PyG: 1.0.3
the multi-nvidia-gpu:

a 3-gpu workstation
import torch
from torch_geometric.nn import EdgeConv
import torch.nn as nn
import torch.nn.functional as F
from torch_geometric.data import Data

class MLP(nn.Module):
    def __init__(self, F_in, F_out):
        super(MLP, self).__init__()
        self.mlp = nn.Sequential(
            nn.Linear(2 * F_in, F_out),
            nn.ReLU(inplace=True))

    def forward(self, x):
        return self.mlp(x)

class TestBlock(nn.Module):
    def __init__(self, F_in, F_out):
        super(TestBlock, self).__init__()
        self.edge_conv1 = EdgeConv(MLP(F_in, F_out),aggr='mean')
        self.edge_conv2 = EdgeConv(MLP(F_out, F_out), aggr='mean')
        self.fc = nn.Linear(F_out, 16)

    def forward(self, data):
        x = data.x
        edge_index = data.edge_index
        x = self.edge_conv1(x, edge_index)
        x = self.fc(self.edge_conv2(x, edge_index))
        return x

d_cpu = torch.device('cpu')
d_cu1 = torch.device('cuda:1')
d_cu2 = torch.device('cuda:2')

block = TestBlock(4, 8).to(d_cu1)
x = torch.randn(50, 8)
edge_index = torch.tensor([[], []], dtype=torch.long)
data = Data(x=x, edge_index=edge_index)
y = block(data.to(d_cu1))
print (y)
print (y.shape)

show the result
1 (run via ipython, not python program)

all right
2 (run via python, i.e. python pyg_test.py)

it still works fine here.
what if i change the gpu?
in my code above, I mentioned d_cu2 (sorry... d_cu0, i.e., the devicecuda:0 is using by another program which i cannot stop it.)

very nice.
and of course, with 3-gpu workstation, it cannot send data and model to the 4th cuda device.
Sorry, ... I have to attend the group meeting at 09:30 (UTC+8), more experiment about this issue will be tested with remote ssh-control.
TODOs: (test in other environments...)
1 re-install anaconda (python3.6 -> python3.7)
2 re-install pytorch and pyg.
sorry, it is too-long. I think my reply may help you, ... a little.
yours sincerely:
@wmf1997

p.s.
@ZongweiZhou1
in most of time, edge_index may not be [[],[]]. (i.e. may not be empty...)  while testing... (meaningful datasets, or random edge_index)
indeed, after adding something to the null edge_index, it works. (no error, and showing the device is cuda:1.
yours sincerely:
@WMF1997

@WMF1997 @rusty1s
Thanks so much for this long debugging process.  :)
I also find the problem is not with pytorch. Instead, The device of the data of an empty edge_index is changed after  feeding into the EdgeConv when it is the first sample given to the EdgeConv. For example:
import torch
from torch_geometric.nn import EdgeConv

import torch.nn as nn
import torch.nn.functional as F
from torch_geometric.data import Data

d1 = torch.device('cuda:1')
net = EdgeConv(nn.Linear(2*2,4), aggr='mean').to(d1)

x = torch.rand(4,2)
edge_index = torch.tensor([[], []], dtype=torch.long)
data = Data(x=x, edge_index=edge_index).to(d1)

print('the devices of edge_index before fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index before fed into the edgeconv: {}'.format(data.edge_index.data.device))
y = net(data.x, data.edge_index)
print('the devices of edge_index after fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index after fed into the edgeconv: {}'.format(data.edge_index.data.device))

The outputs are:

If the edge_index of the first sample sent to the  EdgeConv is not empty, while of the second sample is empty,  the bug is gone?
import torch
from torch_geometric.nn import EdgeConv

import torch.nn as nn
import torch.nn.functional as F
from torch_geometric.data import Data

d1 = torch.device('cuda:1')
net = EdgeConv(nn.Linear(2*2,4), aggr='mean').to(d1)

# first inference
x = torch.rand(4,2)
edge_index = torch.tensor([[0], [1]], dtype=torch.long)
data = Data(x=x, edge_index=edge_index).to(d1)
print('the devices of edge_index before fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index before fed into the edgeconv: {}'.format(data.edge_index.data.device))
y = net(data.x, data.edge_index)
print('the devices of edge_index after fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index after fed into the edgeconv: {}'.format(data.edge_index.data.device))

# second inference
x = torch.rand(4,2)
edge_index = torch.tensor([[0], [1]], dtype=torch.long)
data = Data(x=x, edge_index=edge_index).to(d1)
print('\nthe devices of edge_index before fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index before fed into the edgeconv: {}'.format(data.edge_index.data.device))
y = net(data.x, data.edge_index)
print('the devices of edge_index after fed into the edgeconv: {}'.format(data.edge_index.device))
print('the devices of the data of edge_index after fed into the edgeconv: {}'.format(data.edge_index.data.device))

The output is:

B.T.W, is the problem of the version of pyg ??  My pyg version is 1.3.0. As you posted, it works fine with 1.0.3??

p.s.
@ZongweiZhou1
in most of time, edge_index may not be [[],[]]. (i.e. may not be empty...) while testing... (meaningful datasets, or random edge_index)
indeed, after adding something to the null edge_index, it works. (no error, and showing the device is cuda:1.
yours sincerely:
@WMF1997

In my case, I need to judge whether there is an associated edge based on the spatial distance. And the point distribution is sometimes very scattered. At that time, edge_index is null ...  introduces bugs ...

hello @ZongweiZhou1
I have a small thought. edge_index is null... I have a thought that:
adding self loops( [[0,1,2],[0,1,2]] for 3 points)? (the distance from source point to source point must be 0) then edge_index is not null?
yours sincerely:
@WMF1997

hello @ZongweiZhou1
I have a small thought. edge_index is null... I have a thought that:
adding self loops( [[0,1,2],[0,1,2]] for 3 points)? (the distance from source point to source point must be 0) then edge_index is not null?
yours sincerely:
@WMF1997
P.S.
I also tested in PyG 1.3.0 (Windows window, I use remote control to the workstation which i re-installed PyG. ) (i.e. I upgraded pyg and other libraries. )

Yeah, maybe that is a solution and I'll have a try. Thank you for your help~ @WMF1997

I fixed the bug in torch-scatter master.
I do not think that bug is critical, so I wait till releasing a new torch-scatter release. Thank you very much!


We're making a few design updates to this sign-in experience in mid-June. Learn more

This popup is making it so that users signing in to a chromebook for the first time within enterprise enrollment are not able to log in. A user as reported to me that they are not able to enter text, and are unable to dismiss the window at the login screen.

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

ID: d23565fb-ccc9-42fc-6bde-f999d92fc762
Version Independent ID: 60c86bac-f951-8181-793b-34018f4a76ea
Content: Microsoft sign-in experience updates
Content Source: articles/multi-factor-authentication/end-user/sign-in-experience-updates.md
Service: multi-factor-authentication
GitHub Login: @eross-msft
Microsoft Alias: lizross

Thanks for your feedback! We will investigate and update as appropriate.

@MashTheNewton You can provide your additional comments or Upvote a similar feedback provided at Update to Sign in experience feedback.
This will allow the community to upvote and for the product team to investigate and include into their plans.
We also have the "Give Product Feedback" button in our documents now to take you directly to the appropriate feedback page.

@MashTheNewton You can also open an Azure support ticket so that an Identity engineer could further check on it. Please let me know if you do not have support package, and I will help enable a one time free support ticket for you.

@MashTheNewton We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


as运行6.1.5版本，报错

ERROR: Connection reset Open File
一直提示这一行的问题 apply from: "https://raw.githubusercontent.com/gradle-fury/gradle-fury/v1.1.4/gradle/maven-support.gradle"
怎么解决？

does that url work for you?
if you are building offline, you can check out that project and copy to osmdroid and then update the references

does that url work for you?
if you are building offline, you can check out that project and copy to osmdroid and then update the references

build.gradle加上maven { url "http://maven.aliyun.com/nexus/content/repositories/jcenter"}，可以运行了


Dont check if file exists when using UUIDv4

Instead, check if the file exists before writing in the extremely rare case that there's a collision.
This speeds up uploads quite a bit when dealing with thousands of files.

Very good idea !


How to export texture?

Thanks for your great work!
My goal: is to import highly detailed meshes and textures into 3D software like Blender, Unreal for rendering
How do export mesh and textures (diffuse, specular, normal)?
Like image

Thanks for your great work!
My goal: is to import highly detailed meshes and textures into 3D software like Blender, Unreal for rendering
How do export mesh and textures (diffuse, specular, normal)?
Like image

Hi, May I know where the image you show above come from?
Regards,

Hi @X-niper. See more


Transforms|Pose3D (transform_t) operations

Description
Tracks the implementation of various operations required for handling transform_t data types (see list below):

[x] inverse
[x] transform-transform operations
[x] transform-vector operations
[x] transform-matrix operations
[x] transform-quaternion operations

Implementation was completed some time ago. Check tag v0.4.3 or newer for usage.


Server.xml for servicedesk

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: Puppet: 2018.1.4
Distribution: Ubuntu 16.04
Module version: 3.5.2

How to reproduce (e.g Puppet code you use)
Install jira with product 'servicedesk' and version '3.15.1'
What are you seeing
https://confluence.atlassian.com/jirakb/cant-start-jira-after-upgrade-to-jira-7-790629818.html
What behaviour did you expect instead
Jira installs/starts as expected
Output log
Server.xml has
Any additional information you'd like to impart
This is the part that doesn't seem to work:
<%- if scope.function_versioncmp([@version, '6.4.14']) <= 0 && @product =~ /^jira/ -%>
    <Listener className="org.apache.catalina.core.JasperListener"/>
<% else -%>
    <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<%- end -%>

We are also running into this issue. We are using product = 'servicedesk' and version = '4.1.0'. Yet the JasperListener class is still being inserted into server.xml

This was fixed by #288, which looks like it was included in version 4.0.0

This was a duplicate of #259