Error: Not found

Hi, I have tried using your action in the following configuration:
name: 'Autotag'

on:
  push:
    branches:
      - main
    paths-ignore:
      - '.github/**/*.yml'
      - '.gitignore'

jobs:
  tag:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Create Tag
        id: create_tag
        uses: jaywcjlove/create-tag-action@main
        with:
          package-path: ./package.json

And for some reason, all I get is Error: Not found while your action is being run.
Maybe I am just blind and stupid, but I can't get what I am doing wrong.
FYI: I have another action in a separate file that bumps the version in package.json file in new PRs.

@d0ctr If you are seeing this error its likely that you do not yet have a GitHub release. You might have a git tag and that shows up in the release tab. The API this Action uses only works with GitHub Releases. Convert one of your tags to a release and you'll be on your way. You can check out how this repository uses this action

https://github.com/jaywcjlove/changelog-generator/issues/100

Okay, now I see, thank you for the reply!


Thumbs Up and Down buttons missing in Mini Player

There are no thumbs up and down buttons in the Desktop Mini Player. The web player places them prominently, then includes the shuffle and and repeat buttons above them. Also, it looks like text is cut off when the album title is too long. However, the web mini player omits the album title completely, only showing the song and artist names. Thoughts?

I consider this more of a design choice than a "bug".  I went for the easiest and most cut down mini player I could make while using the rendering JS that GPM already utilised.  The styling of the mini player is literally entirely done though CSS.
I personally don't use the thumbs at all, I'm not sure how many people actually do but in the mini player I just wanted the music controls and thats it.
Do you consider the thumbs a core part of GPM or do you just want feature parity between the two mini players?

Not concerned with feature parity, just parity with the features I use. :) Yes, I do find myself using them occasionally. The keyboard shortcuts for thumbs up and down still work in the mini player, but if I ever want to SEE if I've already thumbed up a song or not, I have to exit the mini player and go back to the regular window, which is kind of annoying.

I second that.
I use them a lot while listening the "I'm feeling lucky Radio" and will be so great to have them also into the mini player.

I also use them often while listening to station. They'd be a handy addition to the mini player.

The thumbs are what I use on the radio stations, helps weed out the junk in the long run.

I agree, I use the thumbs up to add to googles auto-playlist named thumbs up. Kind of a way to keep a dynamic constantly changing playlist without having to manually add things. This is a great project by the way, really excited at how this is turning out.

OK guys I get the message, you are want it and I haven't done it for a month...
hangs head in shame
self assigns

So how do you guys @cboseak  @spr0k3t  @FISHunderscore @Darsh911 @MTRougeau feel about only having the thumbs available during radio playback?
Design restrictions (seemingly google JS related are preventing much fiddling with the thumbs styling, but I can make them visually fit and work while the radio is playing.  Is this OK?  (I can see that all of you claim the radio as the reason you want this?)

I'm fine with thumbs just for the radio. All of the music that I've uploaded/bought I already know I like anyway.

Removing "repeat" and "shuffle" in favor of thumbs would be perfect for me on the radio section.


aliyun-cli: 3.0.124 -> 3.0.125

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/aliyun/aliyun-cli/releases.
meta.description for aliyun-cli is: "Tool to manage and use Alibaba Cloud resources through a command line interface"
meta.homepage for aliyun-cli is: "https://github.com/aliyun/aliyun-cli"
meta.changelog for aliyun-cli is: "https://github.com/aliyun/aliyun-cli/releases/tag/v3.0.125"
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.0.125 with grep in /nix/store/i6nmrhyn119fv72aa5h6pxmw3cgnzpqs-aliyun-cli-3.0.125
found 3.0.125 in filename of file in /nix/store/i6nmrhyn119fv72aa5h6pxmw3cgnzpqs-aliyun-cli-3.0.125

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
aliyun-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/i6nmrhyn119fv72aa5h6pxmw3cgnzpqs-aliyun-cli-3.0.125 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A aliyun-cli https://github.com/r-ryantm/nixpkgs/archive/7a5a66b387171d5817ff4c043f98dc8928721972.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/i6nmrhyn119fv72aa5h6pxmw3cgnzpqs-aliyun-cli-3.0.125
ls -la /nix/store/i6nmrhyn119fv72aa5h6pxmw3cgnzpqs-aliyun-cli-3.0.125/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

aliyun-cli

Maintainer pings
cc @ornxka for testing.

Change looks okay


Set a different icon compared to the "released" version

I have both the original zulip-android and this app installed via the Google Play Store. While this is convenient for various reasons it makes it hard to know which one I'm opening. It'd be nice if this one's icon had a beta badge on it or something, at least until release, to make it easier to differentiate.

can I work on this? @borisyankov

I am not sure it is a task that can be worked on, as in the solution might not be via source code :)
Maybe the only way to do it is to do it manually... but you can research that, I might be wrong.

Since the zulip-android app is deprecated, this is no longer needed. Can be closed.

@strugee are you still using both apps?

@borisyankov not really. There are a few quirks with the new one (which I should probably report bugs for...) but it's so much better than the old that I basically never use that one.


Refactor: consolidate runtime validation for ES6

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Changes
This is one of three PRs refactoring the following:

moving run-time validation for the ES6 compilation target from ergo-compiler to ergo-runtime (this PR)
moving run-time validation for the ES6 compilation target from ergo-runtime to concerto (PR: https://github.com/accordproject/concerto/pull/267)
adjust Cicero to changes in the logic manager and model manager APIs (PR: https://github.com/accordproject/cicero/pull/644)

This has the following benefits

at long last, we now having run time validation consistent with the Q*cert code generation for ES6 all in one place (rather than in 2 places) which should make it easier to test systematically
this is the proper architecture to start adding other backends
we can finally disentangle the ergo engine from the compiler, with almost no dependency between both except for the model manager

Coverage increased (+95.09%) to 95.087% when pulling 7e09692eb3cb7570d962efc8f3dbc95cfcc96ee4 on jeromesimeon:js-alpha.5 into 881ceb5d1471f98554639cd03a631fd1a6ebfb32 on accordproject:master.


Fix gitter link on homepage

Link appears under socialize section.

remove double slash
add https

I opened https://github.com/sdkman/sdkman-website/issues/7 to fix it


Feature Request: af and ctrl-f from vimfx

would you considering implementing af and ctrl-f from vimfx? https://github.com/akhodakivskiy/VimFx/blob/master/documentation/commands.md#the-hint-commands--hints-mode
af displays hints and keeps them visible allowing you to open multiple links until it is canceled.
ctrl-f allows you to press f to show links and then press ctrl-f to open a link in the current tab instead of a new tab. I think you can do this with shift-f in vimium also.

I've added your request to the list of Todos. I think the option to open multiple links is important.
I'm not certain about what ctrl-f does. Are you asking for the ability to use modifier keys to change how a link is opened? The current implementation lets users open links in different ways (e.g. a new window, a background tab), but requires activating hints mode with a unique keybindings. See http://key.saka.io/tutorial/clicking_and_link_hints.

I'm not certain about what ctrl-f does. Are you asking for the ability to use modifier keys to change how a link is opened?

After reading my initial comment I got it a little mixed up. I apologize for that. Yes, allow modifier keys to change where the link will open after f or F has been pressed. Vimfx describes it like this "If you’ve pressed f but realize that you’d rather open a link in a new tab you can hold ctrl while typing the last hint character. "
Essentially you could press f, or whatever key you have set for opening links in the current tab, but decide you want to open the link in a new tab instead so you would then press and hold ctrl and then type the hint and this would open in a new tab instead of the current tab. You would do this instead of canceling then pressing F or whatever your key for new tab is.
I have f and F switched around on my setup so "f " opens links in a new tab and "F" or "f" and then holding ctrl and typing the hint opens links in current tab. I use "f" and then holding ctrl instead of pressing "F" as I find it more efficient, because I rarely open links in the current tab and my capslock is used as a ctrl key.
I realize this might be a little confusing, I think Im starting to even confuse myself. So for me the sequence works like this.

press f
type the hint
links opens in new background tab.

Or

press f
hold ctrl and type the hint
links opens in current tab.

Somewhat related: VimFx also lets you alt to toggle between opening tabs in the background of foreground.

Thanks for the clear description. Will make implementing this feature easier.

No, problem. Thanks for making the extension.


Make fallback browser a requirement to prevent runtime exception

Not specifying the browser will cause this error
E/flutter ( 6003): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(ChromeBrowserManager, No WebView fallback declared., null, null)
E/flutter ( 6003): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)
E/flutter ( 6003): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)
E/flutter ( 6003): <asynchronous suspension>
E/flutter ( 6003): #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
E/flutter ( 6003): #3      ChromeSafariBrowser.open (package:flutter_inappwebview/src/chrome_safari_browser.dart:90:26)
E/flutter ( 6003): #7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:993:19)
E/flutter ( 6003): #8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1111:38)
E/flutter ( 6003): #9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
E/flutter ( 6003): #10     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)
E/flutter ( 6003): #11     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:287:5)
E/flutter ( 6003): #12     BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:222:7)
E/flutter ( 6003): #13     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:476:9)
E/flutter ( 6003): #14     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:77:12)
E/flutter ( 6003): #15     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:122:9)
E/flutter ( 6003): #16     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
E/flutter ( 6003): #17     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18)
E/flutter ( 6003): #18     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7)
E/flutter ( 6003): #19     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:370:19)
E/flutter ( 6003): #20     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:350:22)
E/flutter ( 6003): #21     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:266:11)
E/flutter ( 6003): #22     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:305:7)
E/flutter ( 6003): #23     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:240:7)
E/flutter ( 6003): #24     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:213:7)
E/flutter ( 6003): #25     _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter ( 6003): #26     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter ( 6003): #27     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter ( 6003): #28     _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter ( 6003): #29     _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)
E/flutter ( 6003):

The browserFallback parameter is not required by design. It's you and your code that needs to check if ChromeSafariBrowser is available for that current version of iOS or Android using the ChromeSafariBrowser.isAvailable() static method.
browserFallback is just a utility for you. If you use browserFallback, you need to implement all the features you need, also because it is just a WebView (an InAppBrowser instance) and not a kind of version of Chrome Custom Tabs on Android / SFSafariViewController on iOS.

The browserFallback parameter is not required by design. It's you and your code that needs to check if ChromeSafariBrowser is available for that current version of iOS or Android using the ChromeSafariBrowser.isAvailable() static method.
browserFallback is just a utility for you. If you use browserFallback, you need to implement all the features you need, also because it is just a WebView (an InAppBrowser instance) and not a kind of version of Chrome Custom Tabs on Android / SFSafariViewController on iOS.


Adding testing to pixelflow

Addressing #49

I've added a series of tests for basic functionality in pixelflow, resolving #49


unable to find the goa-table-sort-header in our library. there is no import for this component.

As per new business rules we need to implement sortable feature. we have our own GOA sortable component in our storybook but i don't see goa-table-sort-header in our library. there is no import for this component.  I used the React code in our story book.

Storybook URL-    https://ui-components.alberta.ca/?path=/docs/components-table--sortable

Hi @Akhilgsd
There is a fix for React table sorting header in our current sprint and the fix will be released soon by this week.
For your information, you can check the below alpha react piece of code:
React Demo App For Table Sort
The GoATableSortHeader is imported from @abgov/react-components
I will keep you updated here once the new release is published.

Thank you


Fix for 3.0.2 which throws an error when partialsDir is not set

As of 3.0.2, the initial assignment of partialsDir is no longer defaulted to 'views/partials/'. This breaks systems which only use layoutsDir. This PR fixes this use case.

Here's a workaround in case someone runs into this https://github.com/yads/nodemailer-express-handlebars/issues/22#issuecomment-468718136


Semantic Elements 42%

The HTML must have:
a header element. (7 points)
a nav element. (7 points)
a main element. (7 points)
more than one section element. (7 points)
an aside element. (7 points)
a footer element. (7 points)

added semantic elements


Use -bitexact flag with ffmpeg to provide deterministic output by default

Checklist

[X] I'm reporting a feature request
[X] I've verified that I'm running yt-dlp version 2021.12.27. (update instructions)
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
Summary
I think that yt-dlp should by default pass -bitexact flag to ffmpeg to always provide deterministic output. Or at least it should have an easily discoverable flag to enable this behavior.
Context
The file created by yt-dlp is slightly different each time it is downloaded when certain options/formats are used. Anything that requires postprocessing with ffmpeg results in non-deterministic output.
I ran into this while trying to compare the files produced by yt-dlp and youtube-dl. This makes it hard to ensure that the file is not damaged and that they actually download the same thing.
In the end I found a solution: I can force ffmpeg to produce deterministic output with -bitexact option so adding --postprocessor-args "ffmpeg:-bitexact" to the yt-dlp command fixes the problem. I wish it was easier to discover though. Initially I did not realize what was causing such differences in the output because I assumed that yt-dlp tries to always give you the same exact data (I'm sure many other users do too). I suspected a bug in the --add-metadata option but conditions to reproduce it were not consistent. I spent a lot of time trying to debug this and create a sensible bug report only to discard it when I found out what was happening.
I think that there should be an explicit option to enable deterministic behavior. Preferably enabled by default. I suspect that there are valid reasons why ffmpeg does not default to this (probably performance) but I think in case of yt-dlp/youtube-dl it would be a good default. One of its most important uses cases is archiving of publicly available videos after all, and for this reproducible results matter more than tiny performance gains. There could always be an option to disable this in case this does have measurable performance impact.
Reproducing the non-deterministic behavior
You can observe this behavior even by just downloading the test video:
yt-dlp "https://www.youtube.com/watch?v=BaW_jenozKc" --output "test1.webm"
yt-dlp "https://www.youtube.com/watch?v=BaW_jenozKc" --output "test2.webm"
diff <(hexdump test1.webm) <(hexdump test2.webm) --unified=0 --color

In this case it grabs --format 248+251, which requires muxing the streams into a single file so no extra options are needed to trigger it. In other cases adding --add-metadata is usually enough.
Here's the diff I see:
@@ -15,2 +15,2 @@
-0000110 0000 0000 0000 d74e 0181 c573 b588 135b
-0000120 4b7d 4cb2 9cfc 0081 b522 839c 6e65 8667
+0000110 0000 0000 0000 d74e 0181 c573 7888 a7d5
+0000120 db68 65a8 9cdb 0081 b522 839c 6e65 8667
@@ -21 +21 @@
-0000170 7302 88c5 8395 45fe 8501 034b 819c 2200
+0000170 7302 88c5 7572 ee02 3afc 2a5f 819c 2200
@@ -30,2 +30,2 @@
-0000200 0001 0000 0000 3300 c063 638b 88c5 5bb5
-0000210 7d13 b24b fc4c c867 45a2 88a3 5544 4152
+0000200 0001 0000 0000 3300 c063 638b 88c5 d578
+0000210 68a7 a8db db65 c867 45a2 88a3 5544 4152
@@ -34,2 +34,2 @@
-0000240 0000 0000 6333 8bc0 c563 9588 fe83 0145
-0000250 4b85 6703 a2c8 a345 4488 5255 5441 4f49
+0000240 0000 0000 6333 8bc0 c563 7288 0275 fcee
+0000250 5f3a 672a a2c8 a345 4488 5255 5441 4f49

The diff is of course slightly different every time.
The differences in this case are only at the very beginning, probably in some padding in headers or metadata. This is not always the case. E.g. with --extract-audio there are more of them and they are spread all over the file. In any case, ffprobe shows that there are no actual differences in metadata or any other properties of the video, which you can check by running:
diff --unified=0 --color \
    <(ffprobe test1.webm -show_entries format:streams:packets:frames:programs:chapters 2>&1) \
    <(ffprobe test2.webm -show_entries format:streams:packets:frames:programs:chapters 2>&1)

With -bitexact both files are actually byte-for-byte identical:
yt-dlp "https://www.youtube.com/watch?v=BaW_jenozKc" --output "test1.webm" --postprocessor-args "ffmpeg:-bitexact"
yt-dlp "https://www.youtube.com/watch?v=BaW_jenozKc" --output "test2.webm" --postprocessor-args "ffmpeg:-bitexact"
diff <(hexdump test1.webm) <(hexdump test2.webm) --unified=0 --color

The diff is empty.

The only thing -bitexact does is that it does not write ffmpeg's version specific tags to the file
From https://ffmpeg.org/ffmpeg-all.html
‘bitexact’
Only write platform-, build- and time-independent data. (except (I)DCT). This ensures that file and data checksums are reproducible and match between platforms. Its primary use is for regression testing.

I don't see any reason why yt-dlp should use it by default. You can always add the --ppa if you want it

One of its most important uses cases is archiving of publicly available videos after all, and for this reproducible results matter more than tiny performance gains

Can you explain how exact reproducibility is important?

I ran into this while trying to compare the files produced by yt-dlp and youtube-dl. This makes it hard to ensure that the file is not damaged and that they actually download the same thing.

This is not a good test of whether the file is undamaged. Any systematic errors in either ffmpeg or yt-dlp will cause the checksum to remain same across runs. The only use I can see from your post is comparing b/w youtube-dl and yt-dlp. But imo that is too niche a use-case to justify changing the defaults, or adding new options - especially considering it can already be done with --ppa


Fixes

Smart contract improvements and fixes

Removed unnecessary imports and code as another function was already performing the same functionalities. Furthermore, switched the facility mapping to private instead of the public as you already had a custom-getter function
Improved documentation of code by adding comments describing the functionalities of each function
I've implemented the listPrice as it wasn't previously used in the smart contract(the reason I didn't remove the code was that you mentioned in your project's description that you were using it)
Removed the seller variable in the struct Facility as it was leading to issues (bug in buyNFT_to_fund), mirrored the same use of the owner variable and overcomplexity in your codebase
Fixed bug in buyNFT_to_fund where the sender was being charged twice the price to fund. This was also causing the function on the front end to revert since the value sent was the price/funding amount
Optimized gas costs by using storage pointers

Frontend fixes and improvements

Removed redundant variables and unused code
Fithe xed issue of the fund button not working

Thanks for the insights. I have looked into your changes and found them useful for the project,hence my merging them to the main branch.


Endpoint is not callable

Hello!
I'm using netbox as my db of servers, and performing multiple operations using the data inside of it.
I've tried to use threads to make all the process faster, but then i've encountered that problem:
" 'Endpoint' object is not callable"
The code is going something like that:
from multiprocessing import Pool as ThreadPool
devices = get_devices_from_netbox()
with ThreadPool(10) as pool:
pool.map(dummy_func,devices)
Looks like something inside of endpoint is not serializable... What do you say?

Can't really say without knowing what's in get_devices_from_netbox(). Can you post its contents?

It is going like that:
def get_devices_from_netbox(nb_server,nb_port,token,**filter_args):   nb_client = pynetbox.api(url=http://{0}:{1).format(nb_server,nb_port), token = token)   return nb_client.dcim.devices.filter(**filter_args)
we get a list of devices which I can iterate on.
The problem, though, is not with this function - it is in the pool.map

Had a chance to dig into it a little bit. It looks like it's a result of a change in 4.0 where we started passing the Endpoint object into Response. Will try and find some time to sort it out, but if someone gets it working the the meantime feel free to open a PR.

@masterofcloud1 Passing data between ThreadPools and Processor pools might go a lot better if you inside your function get_devices_from_netbox() manually serialize the data you get back into a normal list/dict data structure and return that instead of the object that pynetbox spits back out when called. My guess is that you are probably seeing is a issue where the pool tries to pickle the objects when it tries to serialize and deserialize them between the threads. Your two solutions is either to make the returned objects work with pickle if that is the serialized format between the pool workers, or you return something that python already can serialize (list + dict) that you then later work with after you have queried all the data you want. I would say that you should sort the data out yourself as that do not require a new release of pynetbox.

@zachmoody FYI, the patch from @xtelinco worked for me for getting pickle load/dump to work properly with pynetbox. What do you think about merging that code?

FYI -- I'm currently working around this issue by adding code similar to #168 as a monkey patch at the beginning of the pickle script. Example:
#! /usr/bin/python3

import pickle
import pynetbox

def pynetbox_App_init(self, api, name, model=None):
    self.api=api; self.name=name; self._choices=None; self._setmodel()
def pynetbox_App_setmodel(self): self.model=pynetbox_App.models.get(self.name)
def pynetbox_App_getstate(self):
    return { 'api': self.api, 'name': self.name, '_choices': self._choices }
def pynetbox_App_setstate(self, d): self.__dict__.update(d); self._setmodel()
from pynetbox.api import App as pynetbox_App
from pynetbox.models import dcim as pynetbox_dcim, ipam as pynetbox_ipam, \
    virtualization as pynetbox_virtualization, circuits as pynetbox_circuits
pynetbox_App.models = dict(dcim=pynetbox_dcim, ipam=pynetbox_ipam,
    circuits=pynetbox_circuits, virtualization=pynetbox_virtualization)
pynetbox_App.__init__ = pynetbox_App_init
pynetbox_App._setmodel = pynetbox_App_setmodel
pynetbox_App.__getstate__ = pynetbox_App_getstate
pynetbox_App.__setstate__ = pynetbox_App_setstate

netbox = pynetbox.api('http://localhost')
netbox_devices = { device.name:device for device in netbox.dcim.devices.all() }
with open('netbox_devices.pickle', 'wb') as f: pickle.dump(netbox_devices, f)

Should be fixed in #168, closing this out.


feat: Allow sending dust

Description of change
Allow sending dust
Links to any relevant issues
Fixes https://github.com/iotaledger/firefly/issues/633
Type of change

Enhancement (a non-breaking change which adds functionality)

How the change has been tested
Sent dust
Change checklist

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

The error maps to 'DustError': 'error.send.leavingDust', "leavingDust": "You cannot leave less than 1 Mi on your address.", is there a way to change it based on the content of the error message? Because it could also be that the receiving address just has no dust allowance output

Moved to https://github.com/iotaledger/firefly/pull/1429


invalid pre-existing configuration causes infinite loop

Hello,
I might be in an edge case which make the git sync not work anymore.
When I am at a branch which is develop or a feature one, I have no issue with the command git sync. However, when I am at the branch master, and I type git sync, I see the message:
[master] git fetch --prune

but it is blocking here, no error message. I tried to do the command without git-town and it does work.
I am willing to give logs of the situation if you show me what I should do.
Thank you for your help.

Hmm, strange. Can you please post the full terminal content here? Also, the output of when you run git branch -vv. Thanks!

~/Projects/my-project (master)
$ git sync

[master] git fetch --prune

(Here I did ^C to exit after 2 minutes)

~/Projects/my-project (master)
$ git branch -vv
  develop a4a4f1f [origin/develop] Minor refactoring.
* master  a4a4f1f [origin/master] Minor refactoring.

I did a manual merge, this is why I get this result for git branch -vv. Nonetheless, the problem is still the same if develop and master have different last commit.
My main branch is develop.
Here is also what looks like my tree recently (there is not much to see unfortunately)

Can you please output the result for git config -l? I would guess there is some infinite loop being hit. Some configuration may have been set before we had proper checks to prevent this.

Good idea! I am pretty sure I did something which was not recommended in the repo.
Here is the result of the command.
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.required=true
filter.lfs.process=git-lfs filter-process
credential.helper=manager
alias.append=town append
alias.hack=town hack
alias.kill=town kill
alias.new-pull-request=town new-pull-request
alias.prepend=town prepend
alias.prune-branches=town prune-branches
alias.rename-branch=town rename-branch
alias.repo=town repo
alias.ship=town ship
alias.sync=town sync
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=https://github.com/hammenm/zeilt_tta_standalone.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
git-town.main-branch-name=develop
git-town.perennial-branch-names=
git-town-branch.doubleclick-validate.parent=master
git-town-branch.master.parent=master
git-town-branch.code-refactoring.parent=master
git-town-branch.develop.parent=master
branch.develop.remote=origin
branch.develop.merge=refs/heads/develop

git-town-branch.master.parent=master

This line is suspect, isn't it ?

Yep there is an invalid entry that I believe creates an infinite loop:
git-town-branch.master.parent=master

Delete it with
git config --unset git-town-branch.master.parent

After your run that I believe your problem will be fixed.
@kevgo any thoughts on adding in some infinite loop protection?

It is working as expected now, thank you for the help!
I am also glad to have show you this issue, if it can help you 👍

@charlierudolph yes, some lightweight verification of data, as we read it, seems a good idea. In this case, the parent of master was set to master, Git Town could have easily aborted with an error message here.

I have created #969 to track this. Closing this issue. Thanks for helping surface this edge case, @hammenm!


Mixins do not work in dev enviroment

I cloned the repo and did not change anything, except the loggers (change to log4j LogManager.getLogger...) and the mixins did not load. Is there a program arg i am not using that i need to? Thanks

Fixed: Added --tweakClass org.spongepowered.asm.launch.MixinTweaker as program arg and added -Dfml.coreMods.load=pathtomixinloader as enviroment arg

Fixed: Added --tweakClass org.spongepowered.asm.launch.MixinTweaker as program arg and added -Dfml.coreMods.load=pathtomixinloader as enviroment arg

That should not have been an issue if you let Gradle generate your runconfigs(?). (e.g., gradle genIntellijRuns; I am there that there is something similar for Eclipse.)

That should not have been an issue if you let Gradle generate your runconfigs(?). (e.g., gradle genIntellijRuns; I am there that there is something similar for Eclipse.)

Yeah I ran genIntellijRunsa and no run configs showed up

Yeah I ran genIntellijRunsa and no run configs showed up


Adding a finalizer on a kafkatopics.kafka.banzaicloud.io doesn't prevent the deletion

Describe the bug
Adding a finalizer on a kafkatopics.kafka.banzaicloud.io doesn't prevent the deletion
Steps to reproduce the issue:

Prerequisite: have a k8s env ready, and a kafka cluster my-cluster
create file topic.yaml

apiVersion: kafka.banzaicloud.io/v1alpha1
kind: KafkaTopic
metadata:
    name: my-topic
    finalizers:
        - foo
spec:
    clusterRef:
        name: my-cluster
    name: my-topic
    partitions: 1
    replicationFactor: 1

Apply is in k8s: kubectl apply -f topic.yaml
Check the topic is created in kafka (I use https://github.com/birdayz/kaf)
Delete the  kafkatopics.kafka.banzaicloud.io: kubeclt delete : kubeclt delete kafkatopics.kafka.banzaicloud.io my-topic
Check the topic in kafka => deleted
check in k8s: kubectl describe kafkatopics.kafka.banzaicloud.io my-topic => still there

Expected behavior
If user add a custom finalizer, the topic in kafka should not be deleted. Basically, the topic cannot be deleted since there is still finalizers than finalizer.kafkatopics.kafka.banzaicloud.io
Screenshots
NA
Additional context
Basically, the following line (https://github.com/banzaicloud/koperator/blob/master/controllers/kafkatopic_controller.go#L226):
if util.StringSliceContains(topic.GetFinalizers(), topicFinalizer) {

should be
if util.StringSliceContains(topic.GetFinalizers(), topicFinalizer) && len(topic.GetFinalizers()) == 1 {

Hey @cmeichel-scality,
Apologies for the delay in the response.

Theoretical points on building hierarchy/codependency in finalizers:
The finalizers set on the CR are a mechanism to make the K8s deletion of the CR wait until the finalizers' controllers clean the - possibly unmanaged/formally-unowned - related resources up and perform more complex cleanups than cascadic deletion of resources based on the ownerReference.
When the corresponding controller done its job then the related finalizer mark is taken off of the CR.
Also during deletion of a CR it is impossible to add/put back finalizers onto the CR, finalizers can only be removed from the CR's corresponding list in this phase.
This is the mechanism we use to make sure to clean up the topic-in-Kafka when their associated KafkaTopic CRs are deleted, using the corresponding Koperator KafkaTopic controller. So when the Koperator KafkaTopic controller runs on the CR deletion, it always removes the topic-in-Kafka and when finished takes its finalizer off of the KafkaTopic CR so the removal of the CR can progress.
To summarize, the finalizers are there to prevent the deletion of the CR before the complex or unmanaged derived resources would be deleted.
But the finalizer mechanism is not supposed to enforce the prevention of the deletion of the corresponding unmanaged/formally-unowned external resources (topic-in-Kafka in this case) until only the CR's lifecycle controller's finalizer is left on the CR.
There is no such behaviour associated with finalizers or hierarchy between finalizers in that sense.
It does not handle the shared ownership of the unmanaged/formally-unowned external resource, that must be implemented out-of-band of the finalizers of a CR.
The operator pattern practices we are used to throughout the industry manage the finalizers independently from each other - even Red Hat's operator best practices states

One or more finalizers can be set on resources. Each controller should manage its own finalizer and ignore others if present.

Practical aspects of handling your problematic case
Fortunately Koperator has the ability to express and control the ownership of the topic-in-Kafka related to the KafkaTopic CR.
The managedBy annotation on a KafkaTopic CR is controlling whether Koperator manages the topic-in-Kafka, meaning synching K8s CR changes to Kafka, including topic creation, update, deletion.
When the value of this annotation is set to koperator the CR changes are synched to Kafka, when the label has any other existing value the CR lives independently from the topic-in-Kafka.
With that in mind the following procedure could give you the resulting behavior you are seeking to my understanding:

Change the  managedBy: koperator annotation to managedBy: yourapplication to remove the association. The actual value is irrelevant at the moment as long as it is not empty and not equals koperator.
Mark the CR for deletion.
Koperator takes its finalizer off after it realizes there is nothing to do because the topic-in-Kafka is not managed by it.
Other controllers having their finalizers on the KafkaTopic CR will be triggered as well, including yours if it is present.
You can run your finalization logic in your controller, including your actions depending on the existence of the KafkaTopic.
Because you are the managers of the topic-in-Kafka now according to step 1 and the managedBy annotation, you should either remove the topic-in-Kafka during the finalization logic of your controller or pass that ownership to one of your services which will later clean up the topic-in-Kafka whenever/wherever it is feasible to you. Just make sure you don't leave the topic-in-Kafka around indefinitely as "garbage".
When the last controller finishes its finalization logic the last finalizer is taken off of the KafkaTopic CR and the CR is deleted from K8s, regardless of the state of the topic-in-Kafka, because Koperator is no longer managing the topic-in-Kafka.

This is what we have today.

Improvement ideas:
We also contemplated what you were suggesting about having some kind of hierarchy or defer mechanism in the finalizers logic so it can be signaled to Koperator that its KafkaTopic controller should run last.
We don't have control over the order of controllers on finalizers executed other than how the Koperator's KafkaTopic controller handles its "priority".
We could technically implement an artifical blocking wait in Koperator's KafkaTopic controller to ensure 3rd party finalizers are all taken off of the CR before Koperator's run, but that would be unnecessary in most cases - unlike yours - and would go against the industry best practices outlined in the theoretical part thus making it somewhat unintuitive for people used to other operators.
Because of the cons of that approach we tried to find a middle-ground that wouldn't disrupt normal usage while giving mechanisms to achieve the functionality you are seeking and came up with the idea of implementing either a special managedBy field such as deferred or another annotation such as koperator/topicCleanUp: deferred that would communicate the intent of having the Koperator KafkaTopic controller clean up the topic-in-Kafka last among finalizers. This would have the benefit of having an intuitive default behavior according to best practices but also giving option to the user to have the topic-in-Kafka cleaned up last. The full procedure would look like

Set the corresponding annotation on the KafkaTopic CR to deffered.
Mark the CR for deletion.
The finalizer controllers run, but Koperator's KafkaTopic controller checks the finalizer list, as long as it's not the sole finalizer it will wait/requeue and keep its finalizer in the list.
When Koperator's KafkaTopic controller sees it is the last finalizer remaining it runs its logic and removes the topic-in-Kafka. Then finishes it's finalization logic and removes its finalizer from the CR which was the last finalizer.
The KafkaTopic CR is deleted.

This requires a minor feature implementation to work and the introduction of a new annotation (value at least) that we need to design to be easily extensible if we want to move further with the sophistication of ownership handling which needs a bit of a think-through on our end.

Also however simple the solution might be, it would still be added complexity to the operator so we would only take upon this path if there is both a strong need for the functionality for you (the current procedure not being satisfactory) and this use-case (wanting to defer topic-in-Kafka deletion while not taking full ownership of it) and its better handling being more prominent to the wider community.
We would like to hear feedback from you on these points we shared while we will try to gather opinions from the community in the near future on this matter.
Readers of this issue, feel free to react/comment your opinions.


Players removed from nation when server restarts

When ever the server shuts down or restarts, everyone is removed from what ever nation they were a part of. Any known fixes?

Hi, I got the same problem as you.
To keep players in the nation, the nation must be NOT ADMIN.
To do this, two ways:

Do not create a nation with /nationadmin command
OR
Create the nation
Close the server.
Edit the nation file (config/nations/nations/uuid.json, check the name of nation inside the file :/)
Change the value "admin" to FALSE
save the file
Restart the server

The file is overwriten if you restart the server or modify it while the server stills open... So be sure to do it while the server is closed.


Show survey answers progress

Hi, i have to show at the top of the survey the "user progress"... In particular I should show the percentage of completion and the number of responses relative to the total..
Example:
answers: 10 of 100 (counting only compiled answers)
percentage: 10%
is there any way to do this? Even if there is no default method, are there any variables that I can retrieve through the js?
Thanks for all ;)

@care46 Theoretically you may override progressText function.
Object.defineProperty(SurveyModel.prototype,"progressText",{get: function() { return yourValue;},
        enumerable: true,
        configurable: true
    });

A better way - we have to calculate the progress by questions, not by pages.
Are you going to modify the progress bar on the current page? Right now it is changed on page changing.
Thank you,
Andrew

@andrewtelnov the progress bar is ok, because the progress show the number o total pages and the user page (and it's ok), I need to show a further element that informs user about how many questions the survey has (only visible questions) and how many questions users answered

@care46 Where do you want to show it? You may have it outside the survey area and in this case you may show what ever you want. Object.keys(survey.data.).length - it will return the number of answering questions, survey.getAllQuestions().length - the number of questions, survey.getAllQuestions(true).length - the number of visible questions.
Thank you,
Andrew

@andrewtelnov yesss... i want to show it outside the survey.. These variables you've suggested to me are just what I was looking for! Thank you!

@andrewtelnov another question, the function survey.getAllQuestions() return all questions, also the HTML question that not have an answer... there is a parameter to specify to have only questions with answer?
Thank you

@care46  Unfortunately not. You will have to go through the array and count questions which return true for hasInput.
var counter = 0;
var questions = survey.getAllQuestions();
for(var i = 0; i < questions.length; i ++) if(questions[i].hasInput) counter ++;

@andrewtelnov ok thanks!


Updating loans_migrator task and legacy_loan class to use tenant timezone

I've updated the loans_migrator task to fetch the tenant's configured timezone and pass that to the legacy_loan class, rather than a simple offset value. This should enable the to_utc method to produce UTC timestamps that account for the DST.
As a bonus, I also fixed the "legacy_loan_count" off-by-one issue, as well. You can now post a loans file with only one loan in it.

Some errors in the tests. I'm looking at them. Will update the pull request when I have a fix.

Codecov Report

Merging #285 (136a6a8) into main (d0840cd) will increase coverage by 0.15%.
The diff coverage is 96.36%.

@@            Coverage Diff             @@
##             main     #285      +/-   ##
==========================================
+ Coverage   67.75%   67.91%   +0.15%
==========================================
  Files          55       55
  Lines        5794     5825      +31
==========================================
+ Hits         3926     3956      +30
- Misses       1868     1869       +1

Flag
Coverage Δ

unittests
67.91% <96.36%> (+0.15%)
:arrow_up:

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

Impacted Files
Coverage Δ

...gration_tools/transaction_migration/legacy_loan.py
74.24% <90.00%> (+1.82%)
:arrow_up:

tests/test_legacy_loan.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

@fontanka16 I'm going to try and run a couple more tests on both this and #288 today before I merge.


made context manager for set

Fixes #1117.

@jenshnielsen can you approve this now?

Seems sensible to me. I am still in doubt about is this should bind directly to set. @WilliamHPNielsen any opinion

I would probably prefer to bind this to something called set_to, simply because I conjecture that users will find that (slightly) easier to understand. And I also personally find it nice that the line
with dac.voltage.set_to(0):

kind of reads out like a natural language command.
But I don't feel very strongly about either option.

shall we merge this pull-request or is there anything to do?

Let's poll for the name of the method that can be used as context manager for the "set" functionality:
/polls "existing set() - with dac.voltage.set(1):" "set_to() - with dac.voltage.set_to(1):"

@jenshnielsen @astafan8 @WilliamHPNielsen  Can we have another look, please?

Sorry for the delay, I was out last week.
I find the two naming options slightly confusing. For an unexperienced user a with statement is something exotic and the prose english interpretation of the two suggested names does not reflect its behavior.
I would prefer something like
with dac.voltage.temporarily_at(0)


Added Love Calculator

Description 📜
I have created a Love Calculator , and deployed the basic functionalities into it.
Fixes # <issue_number_here>

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSOC'22 contributor
[x] Have you added a working video of your calculator ?

Screenshots / Gif (Optional) 📸

The title of the pull request has been changed.

Anymore changes to be done?


[text-field] Overriding density hides label

Describe the bug
Overriding the density on (default) mdc-text-field hides the label.
To Reproduce
Steps to reproduce the behavior:
<mdc-text-field label="Username"></mdc-text-field>

.mdc-text-field {
    @include text-field.density(-4);
}

Expected behavior
The label should be visible.
What Angular MDC version are you using? 5.1.1 (tested on canary as well)
What OS are you using?: Windows Server 2012
What browser(s) is this bug affecting?: Chrome

Hi @KaranKapoorIon Filled textfields will hide the floating label at certain densities. This behavior can be overridden by setting $text-field.minimum-height-for-filled-label: 40px

Closing.


Current version CUTE (v0.1.0) does not work with<EMAIL_ADDRESS>

Test launch crushed:
../../../go/pkg/mod/github.com/ozontech/cute@v0.1.0/test.go:114:22: too many arguments in call to common.NewT
have (*testing.T, string, string)
want (provider.TestingT)

Implemented in https://github.com/ozontech/cute/releases/tag/v0.1.3


how to understand the prefix（$ and $$）in the sourcecode?

had some special definition?

$ denote angular APIs, core services (e.g. $scope), and properties that are added by angular (for example $index in ngRepeat). $$ are private angular services and properties that developers should not use, because they may change in the future.
As a developer you should therefore not add own services and properties that start with $.

Awesome, thanks for the quick feedback! :+1:  Thanks.


Patch vmtools to fix issue #8

I've also added checksums to the 15.04 images, otherwise they wouldn't download from the internet (if the iso files didn't already exist) for me

Beat me to it! Thanks!

Thanks!


Some older HKG vehicles do not have FCA11msg. CAN Error: Check Connections Alert.

Tested on 2016 Hyundai Genesis. Due to FCA11 check in Hyundai\carstate.py, the cp.can_valid fails. FCA11 check needs to be vehicle specific.

older vehicles use
("AEB_CmdAct", "SCC12", 0),
("CF_VSM_Warn", "SCC12", 0),

I can probably create a PR. But I am not sure of the coding standards. The idea is to differentiate vehicles with msg FCA11 - 909:8. only perform check for FCA11 when fingerprint shows the 909:8 string


Refactor Teaser link to reuse in text teaser, key numbers components and anywhere else if any. #2066

There are other places where a refactor would be beneficial, but the structure is too different to benefit from reusing ReadMoreLink. Such as RelatedContent, CallToActions, Form, FiftyFiftyHero

refactored the readmorelink so it could be used in more places

You could do something like;
export type ReadMoreLinkProps = {
...
}  & Pick<LinkProps, 'variant'>


Calling a skill in a non D20 system

I dont think this is an issue as much as it is just I don't know what I'm doing.
I'm using the Open D6 Space system (OD6S) and the Star Wars module on it.
I can get password to work and I can get keys to work, but I can't get lockpick or bash formulas to work.
I can't figure out the key/syntax to use to get it to roll a skill or attribute.
I can use @actor.system.attributes.str.mod (or.max or .score)  but it only calls the static value.
For example, strength might be 3d6+2, its not a static number, the score is in 'pips' and is 3 per dice and the +2 for a total of 11, but I cant figure out what to call to actually roll the 3d6+2, short of typing in 3d6+2, but that obviously doesn't adjust for each character.
I then thought I could make a macro and call that, but I have the same issue, I cant seem to call a macro either, using
/macro Strength
I'm sure its something I'm unaware of, but I can't figure it out, so if anyone knows, I'd really appreciate it!

I am not familiar with the system.
But if you for example want to roll an amount of d6 equal to the strength modifier you used as an example, you could write (@actor.system.attributes.str.mod)d6. I am not sure how the system uses skills/abilities, but i think they may be items. In this case you should be able to use something like @skills.Lock_Picking.[some data path here] to reference a skills value, in this case a theoretical skill named "Lock Picking".
I hope that helps. Feel free to ask any other questions you have. For more detailed help with the formulas i might need a .json export of an example character and a more in depth explanation of the system.

Thanks for the fast response!  I'll try that when I have time, is there a way to call a macro as well?
The D6 system has every attribute and skill broken down into dice rolls.   Sorry not explaining too well..  the progression is like this. 2d6 (roll 2d6), 2d6+1 (roll 2 d6, add 1 to total), 2d6+2, 3d6 (the next 'pip, or what would be 2d6+3 makes it another dice, so you only ever have +1 or +2 to a dice roll)
There are 6 attributes for most characters, Dexterity, Strength, Mechanical, Technical, Knowledge and Perception.
All skills are broken down under the relevant attribute, and starts with the same dice as the attribute does, so Search is a Perception skill, if your perception is 3d+1, then the search skill is also 3d+1. Characters can spend their experience or character points, to increase the skills higher than the attribute, so they might have perception at 3d+1 and Search at 4d+1
Anyway, most rolls in game are opposed rolls where the player rolls their attribute or skill in d6 and adds the +pip to it if relevant. the GM either has a static value to beat or will roll an opposing roll.. most non combat things have either a static or roll difficulty, eg a lock might be a static difficulty of 8, or could be opposed by the gm rolling 2d6, depending on how lazy the gm is at the time lol
The problem with calling the .score of any attribute or skill, is it looks at the pips, not the dice.. so if I have 3d6+1 the .score sees it as (3dice of 3 pips each +1pip) = 10   so I guess there must be code somewhere when rolling to divide that 11 by 3 to get the amount of dice to roll and the leftover is the + pip..
The .mod is something that is added by an item to the .score of a skill or attribute, I might have armour that adds 6 to .mod and the system will see that as 2d and when the armour is on, add 2d6 to str, but calling the .mod of the attribute itself is usually just going to be 0
test actor .json included  but I cant see the roll formula in there, but you might :)
fvtt-Actor-test-r3HfW3YrHvf6ilDW.json

So, adding dice/roll based difficulties to locks is a bit harder, maybe possible with a few tricks but i will have to think about that. The normal static DCs or rather the player formulas shouldn't be problem though. I am assuming that the whole relevant value for a given attribute/skill is calculated by .score + .mod:
For the strength:
<EMAIL_ADDRESS>+ @actor.system.attributes.str.mod)/3)d6 + (@actor.system.attributes.str.score + @actor.system.attributes.str.mod)%3
Lets for example say, that you also want to add lock picking hacking using the Security(?) Skill, it would  look like this (skill mods seem to be already included in skill scores):
<EMAIL_ADDRESS>+ @actor.system.attributes.tec.mod + @skills.Security.system.mod)/3)d6 + (@actor.system.attributes.tec.score + @actor.system.attributes.tec.mod + @skills.Security.system.mod)%3

Dice based difficulty isnt a worry, worst case I'd just roll it and enter the result as a static value.
the formula you've provided is really close, I did neglect to mention a part of the rolls though.. I completely forgot until testing the formula!  the first dice of the dice rolled is a Force or Fate dice, it explodes on a 6 and you get to re-roll it
so essentially a 3d6+2 skill is broken down to   11d6 "Force die, exploding",  22d6 normal die and +2 'pips'
I did find this in the utilities.js file, since its not a json I couldnt upload the whole thing.

Function which returns a number of dice and pips from a raw score.

e.g. a score of 14 translates to "4D+2", a score of 15 is "5D+0".
@param score
@returns {{dice: number, pips: number}}
*/
static getDiceFromScore(score) {
const dice = Math.floor(score / OD6S.pipsPerDice);
const pips = score % OD6S.pipsPerDice;
return {
dice,
pips
}
}

/**

Get a score from a number of dice and pips.
@param dice
@param pips
@returns {number}
*/
static getScoreFromDice(dice, pips) {
return (+dice * OD6S.pipsPerDice) + (+pips);

And this from od6sroll.js:
// Get the attribute of the skill or spec
attribute = data.actor.items.filter(i => i.id === data.itemId)[0].system.attribute.toLowerCase();
if (typeof (attribute) === 'undefined') {
attribute = null;
} else {
if (OD6S.flatSkills) {
// Check if attribute of skill has at least 1 dice
const attributeValues = od6sutilities.getDiceFromScore(data.actor.system.attributes[attribute].score);
if (attributeValues.dice === 0) {
ui.notifications.warn(game.i18n.localize("OD6S.SCORE_TOO_LOW"));
return;
}
rollValues.dice = (+attributeValues.dice);
rollValues.pips = (+attributeValues.pips);
not sure if that helps or not. if there is anywhere else I can get info from, just let me know.
really appreciate the help especially given its not even a system you play!

Luckily Foundry already has exploding dice in the default formulas, the adjusted strength formula should look like this:
min(1<EMAIL_ADDRESS>+ @actor.system.attributes.str.mod)/3))d6xo6 + max(0<EMAIL_ADDRESS>+ @actor.system.attributes.str.mod)/3)-1)d6 + (@actor.system.attributes.str.score + @actor.system.attributes.str.mod)%3

One question though, can the same die explode multiple times, i.e. would you reroll it again if it again lands on a 6?

yes, on a skill roll it does.

I notice in chat when it rolls a force / fate / wild dice it notes it as 1dwx6

For the multiple rerolls the formula should then look like this (x instead of xo):
min(1<EMAIL_ADDRESS>+ @actor.system.attributes.str.mod)/3))d6x6 + max(0<EMAIL_ADDRESS>+ @actor.system.attributes.str.mod)/3)-1)d6 + (@actor.system.attributes.str.score + @actor.system.attributes.str.mod)%3
if think the 1dwx6 ist just an alternate way of writing 1d6x6 (not 100% sure though)

Awesome, looks like both work.  the dwx6 makes the force/wild dice a different colour to the rest of them from what I can see.

I think that should make it all work for me, I was holing it would be something like .attributes.strength.dice + .attributes.strength.pips   or something easy lol

Yeah that would have been nice. The formulas for systems with roll rules more complex then xdy + z >= DC tend to be quite long.


Reflection APIs is not supported by the server

Reflection is a protocol that gRPC servers can use to declare the protobuf-defined APIs they export over a standardized RPC service, including all types referenced by the request and response messages. Clients can then use this information to encode requests and decode responses in human-readable manner.
Reflection is used heavily by debugging tools such as grpcurl and Postman. One coming from the REST world might compare the gRPC reflection API to serving an OpenAPI document on the HTTP server presenting the REST API being described.
https://grpc.io/docs/guides/reflection/

Sorry for the late answer.
This could be a really great feature even we didn't prioritize it.
The main point to check is:

Is server reflection possible to enable after the grpc server start ?

If yes we could easily find all the service used and declare them for reflection. (just adding the enable_server_reflection here: https://github.com/socotecio/django-socio-grpc/blob/master/django_socio_grpc/services/app_handler_registry.py#L137)
If no we need a way to get all the service of the server before launching the server like an extra file written by generateproto of something like that.
In both case we also need to consider that developer that use DSG may want to keep some service not reflected. This can be done with a service attribute or decorator.

Already in #224


Stacking multiple LSTM layers yields an error

I tried to create a network with multiple LSTM layers. No matter what I try this or similar attempts will yield an error:
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.layers.embeddings import Embedding
from keras.layers.recurrent import LSTM

nb_chars = 26 # a..z
nb_nodes = 50

model = Sequential()
model.add(Embedding(nb_chars, nb_chars))
model.add(LSTM(nb_chars, nb_nodes, activation='sigmoid', inner_activation='hard_sigmoid'))
model.add(Dropout(0.5))
model.add(LSTM(nb_nodes, nb_nodes, activation='sigmoid', inner_activation='hard_sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(nb_nodes, nb_chars))
model.add(Activation('sigmoid'))
model.add(Dropout(0.5))

model.compile(loss='binary_crossentropy', optimizer='rmsprop')

Error:
Traceback (most recent call last):
  File "test.py", line 21, in <module>
    model.compile(loss='binary_crossentropy', optimizer='rmsprop')
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/models.py", line 71, in compile
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/models.py", line 155, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 115, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 27, in get_input
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 140, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 27, in get_input
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 233, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 27, in get_input
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 115, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/core.py", line 27, in get_input
  File "/home/tener/.local/lib/python3.4/site-packages/Keras-0.0.1-py3.4.egg/keras/layers/recurrent.py", line 338, in get_output
  File "/home/tener/.local/lib/python3.4/site-packages/Theano-0.7.0-py3.4.egg/theano/tensor/var.py", line 341, in dimshuffle
    pattern)
  File "/home/tener/.local/lib/python3.4/site-packages/Theano-0.7.0-py3.4.egg/theano/tensor/elemwise.py", line 141, in __init__
    (i, j, len(input_broadcastable)))
ValueError: new_order[2] is 2, but the input only has 2 axes.

If I replace one of LSTM with, say, Dense, it will work. I cannot figure out why - according to the documentation the inputs and outputs of both should match?

maybe try this
Dense -> TimeDistributedDense

A LSTM layer, as per the docs, will return the last vector default rather than the entire sequence. In order to return the entire sequence (which is necessary to be able to stack LSTM), use the constructor argument return_sequences=True.

I don't want the entire sequence. My original question was not about TimeDistributedDense. Reading the docs it should be possible to stack two LSTM layers.

And possible it is. Again: just use the constructor argument return_sequences=True in your intermediate LSTM(s).

Hello fchollet,
I met the same problem as Tener. I added return_sequences=True in my code. The error still comes..
Here is my code:
model = Sequential()
model.add(Convolution2D(100, 1, 2, 5, border_mode='valid'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(49600,peptidemaxLen, init='normal'))
model.add(Activation('softmax'))
model.add(LSTM(peptidemaxLen, peptidemaxLen, return_sequences=True))
model.add(Dropout(0.2))
Thank you so much!!

LSTM layers have to have input in the size [samples, timesteps, features]


Rescale TimeRange ?

Should we have a function for this ? Like the one for RationalTime?

Something to consider. (T/1000)*1000 may not equal T unless care is taken in implementation. This comes up frequently in editing applications when users scale a clip down (to make something play really sped up), then restore the clip later to 1:1 playback.

@alatdneg Do you mean rescale to keep the duration the same length overall?  Or change the rate of both of the rational times to the same rate?  Either way, seems totally reasonable.

@alatdneg just bumping this to get some clarification.


JSON serialization of internal structures

Would allow users to write music transformations in any programming language (or Haskell scripts), similar to jgm/pandocfilters.
Also useful for building a REST-server containing musical scores, or persistence in general.

Export done for Note, Voice, Event, Score and Aligned. TODO import.

Done.


Stock Selector based on Technical Indicators

Is your feature request related to a problem? Please describe.
Nah
Describe the solution you'd like
Update HFT Stock Pool based on a separate stock selector (using primarily Yahoo Finance data).
Describe alternatives you've considered
Support other data sources such as Google Finance or other paid subscribed data source.
Additional context

Implemented

Implemented


Idea: split data structures from data loaders

Current classes (Asset, Amount, Price, etc) are responsible both for loading data via API and storing/handling this data (copy, multiplication, division, comparison etc)
The idea is to split data loading and data storing/processing to separate classes. One class is for loading object, and second to store object data and doing all data processing. This is needed to avoid loading of blockchain objects via API when instantiating new classes in various methods like __mul__, __div__ etc. This is important as it's almost impossible to make asyncio versions of magic methods. In new design magic methods are operate only on data storage classes without need to query API.
Here is the brief demonstration:
from asyncinit import asyncinit

class Data(dict):
    """ Actual data is stored here
    """
    def __init__(self, obj):
        # Do all usual things to load data into attributes etc
        self['foo'] = obj['foo']

    def copy():
        pass

    def __mul__():
        pass

    def __div__():
        pass

class Proxy(Data):
    """ Amount, Asset, Price, etc
    """
    def __init__(self, a):
        obj = self.load_data(a)
        self.__data = Data(obj)

    def load_data(self, o):
        """ RPC call here
        """
        return {'foo': 'bar'}

    def __getattr__(self, name):
        return getattr(self.__data, name)

@asyncinit
class ProxyAio(Proxy):
    """ Example async loader
    """
    async def __init__(self, a):
        obj = await self.load_data(a)
        self.__data = Data(obj)

    async def load_data(self, o):
        """ RPC call here
        """
        return {'foo': 'bar'}

I did test implementation of this concept for Asset class with refactoring of blockchainobject.py to avoid  loading via self.refresh().

Good call .. I like that idea. It always bothered me that the classes mix up functionalities in a weird way.


Document is not complete?

https://sircfenner.github.io/StudioComponents/ some components page is not visible.
pls update document

See https://github.com/sircfenner/StudioComponents/issues/43#issuecomment-1855795264


Need the parentId / root traceId for consuming messages from SQS

Hi, we are trying to pass trace-id's between multiple apps that talk to each other via SQS. It looks like this library will automatically generate a subsegment for talking to SQS, but there's nothing on the other end (say in MessageAttributes) to know the traceId and parentId of that subsegment. Is there something I'm missing? For now, we are just adding it to the MessageBody but this means I can't use this library to instrument AWS clients, as I need to know the subsegment id.
I found this link referencing a "convention" to use MessageAttributes: https://forums.aws.amazon.com/thread.jspa?messageID=794108 but it doesn't look like this library does it.

Hi,
We have an item in our back log to have the X-Ray SDK automatically construct trace header and put it in the SQS message metadata on the sender side and extract this trace header from receiver side. Please stay tuned.
In the meantime you can construct a trace header yourself following the format here: https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader and add it to your message attribute. I agree this is not ideal but this at least can bridge the gap between the producer and consumer and the actually message processing time and trace id propagation is probably more useful than SQS client API call. Please let me know if this workaround is usable in your use case.

Thanks for a fast response! I am OK doing it myself for now -- My hope is to line up as closely as possible with what the end result will be, ideally something that is supported in the Java SDK as well.
I'm unclear what you mean by the "message metadata" -- I see that in aws_p.js, you are already adding an http header with the trace id but still create a subsegment, and I didn't notice any additional segments/subsegments created by SQS, so I'm guessing that this is not necessary for SQS clients. For now, I am adding properties in the MessageAttributes for "Root" and "Parent" and reading them on the client side. Another option for us would be to add the parent and trace id's to the MessageBody, but that only works in cases where we are stringifying JSON.
So, in the meantime I'm just wondering what you'd recommend as best practice? Is MessageAttributes a good place to put it?

Thanks! i'll close this issue for now


Allowed using variable names as function names

https://github.com/VictoriaMetrics/metricsql/issues/5

Thanks!


Explore sphinx-design

https://sphinx-design.readthedocs.io/en/rtd-theme

Furo is also quite nice and easy to use.


error on downloading videos

Descripiton
I get error when try to download a video on tiktok and twitter
I have tested with many link, and all of them return the same error:
tiktok: Error code 530
twitter: return a very large error

I should update the package
I changed the API domain

I should update the package I changed the API domain

Hello, whats the new API domain


travis: temporarily pin rust to nightly 2018-03-02

2018-03-03 introduces build failure because libcore cannot find its mod coresimd. Travis build: https://travis-ci.org/hdhoang/anne-key/builds/348858559#L498
As part of rust-lang/rust#48513, src/stdsimd is a submodule. I guess it is not included in the rust-src component yet? ping @alexcrichton

Looks like all the breakage all in low level as it's in xargo/libsimd/libcore, so hopefully it'll be fixed soon.
Pinning the version is a good idea though, thanks!


[quoteservice] manual metrics, logs export

Changes

add a manual metric to the php quote service
randomize per-item cost to add some variability to quotes
bump dependencies to latest
fix a monolog deprecation
ensure logs are exported per the configured delay

Merge Requirements
For new features contributions please make sure you have completed the following
essential items:

[x] CHANGELOG.md updated to document new feature additions
[ ] Appropriate documentation updates in the docs
[ ] Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

Related to https://github.com/open-telemetry/opentelemetry.io/issues/2669

Since the returned cost is now randomized

Thanks, I didn't consider if there might be downstream effects of randomizing the cost.


Video Title and upper player icon present when in fullscreen mode

Hello, I have been enjoying using this extension as I am able to see the video without the overlay when pausing and resuming playback. With the latest change in version 3.0.0, when the player bar is placed outside it is always present to avoid the page elements from moving so much. Though with this, I have been having problems when using this extension in fullscreen mode.

When the video is in fullscreen mode and the player bar is placed outside the video title, watch later, and share icons are present and would not disappear.

Perhaps having the player bar placed inside when in fullscreen mode would be possible?

@wishyu Thanks for  making issue. I had not noticed this problem in full screen in my environment.
So, it's uncertain if I can fix it right away, but for once, to make the player bar inside when in full screen, scroll down the screen and press this extension button on the player bar. Inside mode. That will return you to the default YouTube behavior.

@wishyu  Bug fixed. An update will be applied soon.


Is the result of part segmentation using a vote strategy?

Thanks for your codebase! The results reported in your paper do not contain relevant information. I would like to know the difference between your models using or not using vote strategy.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

The authors do not report the results on scannet, but the results on shapenetpart are reproducible.

The training time of c160 in partseg is too long, I only test -s model, I hope the author open .log instead of only .ckpt.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

The authors do not report the results on scannet, but the results on shapenetpart are reproducible.

Do you train from scratch or use pre-trained models? I have trained from scratch but only get 85% instance mIoU on ShapeNetPart.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

The authors do not report the results on scannet, but the results on shapenetpart are reproducible.

The authors mention ScanNet's results of around 72% mIoU in other issues.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

The authors do not report the results on scannet, but the results on shapenetpart are reproducible.

Do you train from scratch or use pre-trained models? I have trained from scratch but only get 85% instance mIoU on ShapeNetPart.

the intermediate result trained from scratch, -c160 model, so I hope the authors open .log file.  I would like to get logs of baseline to refer to the quality of my code.

Have you reproduced the current codebased on Scannet and shapenetpart? I have reproduced the code on scannet at 70.5 mIoU, which is much lower than the results mentioned by the authors.

The authors do not report the results on scannet, but the results on shapenetpart are reproducible.

Do you train from scratch or use pre-trained models? I have trained from scratch but only get 85% instance mIoU on ShapeNetPart.

 the intermediate result trained from scratch, -c160 model, so I hope the authors open .log file. I would like to get logs of baseline to refer to the quality of my code.

I got similar results like you. And according to my experiments about PointNeXt, the result is convergent now.

@xindeng98   @zouyanmei

for any questions related to shapenetpart, please ask Yuchen. I will not take any question related this dataset anymore.
my suggestion is not to work on this dataset. All models achieve similar results. Many recent methods do not opensource code for shapenetpart anyway.
I have no idea what happens to your training. it is wired to get a result so low.
here is our training log: https://drive.google.com/file/d/1cLMKuidYGtGN2gVDHeU_ZQDK9YNlW5Sb/view?usp=sharing

@zouyanmei did you run test? note validation in training time is not the val miou.
for scannet, we can easily reach over 71 val miou without any voting.

@zouyanmei did you run test? note validation in training time is not the val miou. for scannet, we can easily reach over 71 val miou without any voting.

Yes, and I got 70.5 val miou.

Sorry, I only train for 1 time. And here is my training log: https://drive.google.com/file/d/19WPFqi63U_ZndFFfiKPvERe4aPEDzImi/view.

@zouyanmei  you only used 1 GPU. but the default cfg is for 8 GPUs. You have to manually tune it. A good start is to follow the linear lr rule.

@zouyanmei please do the following:

confirm you used the latest code including latest openpoints
if yes to 1, then train for 3 times, and report the average value
if you are not able to achieve over 71, share your training command with me

And I also noticed that label smoothing does not used in ScanNet, which is proved efficient in S3DIS.

@zouyanmei a good catch. we found it does not matter use it or not. no big difference. and scannet is just a quick experiment we did in rebuttal period.

@zouyanmei you only used 1 GPU. but the default cfg is for 8 GPUs. You have to manually tune it. A good start is to follow the linear lr rule.
Thank you so much, I got it.

I found out that your configuration file has a problem, the configuration file says batch_size=8, REDEME says use single gpu, but in the .log file you use four gpus, so the actual batch_size should be 32. I wonder if this difference exists? @yuchenlichuck

Hi @guochengqian ,
There are two datasets 'shapenetcore_partanno_segmentation_benchmark_v0_normal' dataset to train shapenetpart' and hdf5_data. And in PointNext you use the former. Have you tried the later dataset and get a result, if yes, can you share the dataset code and corresponding configs. When I train model using the later one on single 3090, i can only get 84.8%mIOU， which is much worse than 86.5%.  Here is my dataset code, config, and log.
`@DATASETS.register_module()
class ShapeNetPart(Dataset):
classes = ['airplane', 'bag', 'cap', 'car', 'chair',
'earphone', 'guitar', 'knife', 'lamp', 'laptop',
'motorbike', 'mug', 'pistol', 'rocket', 'skateboard', 'table']
seg_num = [4, 2, 2, 4, 4, 3, 3, 2, 4, 2, 6, 2, 3, 3, 3, 3]
cls_parts = {'earphone': [16, 17, 18], 'motorbike': [30, 31, 32, 33, 34, 35], 'rocket': [41, 42, 43],
               'car': [8, 9, 10, 11], 'laptop': [28, 29], 'cap': [6, 7], 'skateboard': [44, 45, 46], 'mug': [36, 37],
               'guitar': [19, 20, 21], 'bag': [4, 5], 'lamp': [24, 25, 26, 27], 'table': [47, 48, 49],
               'airplane': [0, 1, 2, 3], 'pistol': [38, 39, 40], 'chair': [12, 13, 14, 15], 'knife': [22, 23]}
cls2parts = []
cls2partembed = torch.zeros(16, 50)
for i, cls in enumerate(classes):
    idx = cls_parts[cls]
    cls2parts.append(idx)
    cls2partembed[i].scatter_(0, torch.LongTensor(idx), 1)
part2cls = {}  # {0:Airplane, 1:Airplane, ...49:Table}
for cat in cls_parts.keys():
    for label in cls_parts[cat]:
        part2cls[label] = cat

def __init__(self,
             data_root='data/shapenetpart',
             num_points=2048,
             split='train',
             class_choice=None,
             shape_classes=16, transform=None, **kwargs):
    self.data, self.label, self.seg = load_data_partseg(split, data_root)
    self.cat2id = {'airplane': 0, 'bag': 1, 'cap': 2, 'car': 3, 'chair': 4,
                   'earphone': 5, 'guitar': 6, 'knife': 7, 'lamp': 8, 'laptop': 9,
                   'motor': 10, 'mug': 11, 'pistol': 12, 'rocket': 13, 'skateboard': 14, 'table': 15}
    self.seg_num = [4, 2, 2, 4, 4, 3, 3, 2, 4, 2, 6, 2, 3, 3, 3, 3]
    self.index_start = [0, 4, 6, 8, 12, 16,
                        19, 22, 24, 28, 30, 36, 38, 41, 44, 47]
    self.num_points = num_points
    self.partition = split
    self.class_choice = class_choice
    self.transform = transform

    if self.class_choice != None:
        id_choice = self.cat2id[self.class_choice]
        indices = (self.label == id_choice).squeeze()
        self.data = self.data[indices]
        self.label = self.label[indices]
        self.seg = self.seg[indices]
        self.seg_num_all = self.seg_num[id_choice]
        self.seg_start_index = self.index_start[id_choice]
    else:
        self.seg_num_all = 50
        self.seg_start_index = 0
        self.eye = np.eye(shape_classes)

def __getitem__(self, item):
    pointcloud = self.data[item][:self.num_points]
    label = self.label[item]
    seg = self.seg[item][:self.num_points]
    if self.partition == 'trainval':
        pointcloud = translate_pointcloud(pointcloud)
        indices = list(range(pointcloud.shape[0]))
        np.random.shuffle(indices)
        pointcloud = pointcloud[indices]
        seg = seg[indices]

    # this is model-wise one-hot enocoding for 16 categories of shapes
    feat = np.transpose(self.eye[label, ].repeat(pointcloud.shape[0], 0))
    data = {'pos': pointcloud,
            # 'x': feat,
            'cls': label,
            'y': seg}
    if self.transform is not None:
        data = self.transform(data)
    return data

def __len__(self):
    return self.data.shape[0]

`
‘’‘
model:
NAME: BasePartSeg
encoder_args:
NAME: PointNextEncoder
blocks: [ 1, 1, 1, 1, 1 ] # 1, 1, 1, 2, 1 is better, but not the main focus of this paper
strides: [ 1, 2, 2, 2, 2 ]
width: 32
in_channels: 4  # better than 4,6
sa_layers: 3  # better than 2
sa_use_res: True
radius: 0.1
radius_scaling: 2.5
nsample: 32 # will not improve performance.
expansion: 4
aggr_args:
feature_type: 'dp_fj'
reduction: 'max'
group_args:
NAME: 'ballquery'
normalize_dp: True
conv_args:
order: conv-norm-act
act_args:
act: 'relu' # leakrelu makes training unstable.
norm_args:
norm: 'bn'  # ln makes training unstable
decoder_args:
NAME: PointNextPartDecoder
cls_map: curvenet
cls_args:
NAME: SegHead
global_feat: max,avg  # apped global feature to each point feature
num_classes: 50
in_channels: null
norm_args:
norm: 'bn'
lr: 0.001
min_lr: null
optimizer:
NAME: adamw
weight_decay: 1.0e-4  # the best
criterion_args:
NAME: Poly1FocalLoss
epochs: 300
sched: multistep
decay_epochs: [210, 270]
decay_rate: 0.1
warmup_epochs: 0
feature_keys: pos,heights
datatransforms:
train: [PointsToTensor, PointCloudScaling,PointCloudCenterAndNormalize,PointCloudJitter]
val: [PointsToTensor, PointCloudCenterAndNormalize]
kwargs:
jitter_sigma: 0.001
jitter_clip: 0.005
scale: [0.8, 1.2]
gravity_dim: 1
angle: [0, 1.0, 0]
dataset:
common:
NAME: ShapeNetPart
data_root: data/ShapeNetPart/hdf5_data
num_points: 2048
train:
split: trainval
val:
split: test
presample: True
’‘’


Missing x86_64 support in latest Google Play Games C++ SDK 3.0.1

As Google Play has required 64-bit support for all app submissions/updates since August 2019, it is not possible to update our games with the current SDK.
When can we expect an update of the SDK with x86_64 support?

looks like this got asked here too:  https://github.com/playgameservices/android-basic-samples/issues/293
[I have not trace that repo one for a while]
probably track it over there.

internal bug (b/140722430) also created, let's track it from pgp sample repo place linked above. Thank you for bringing it up.


Add event listener because some devices can change the safe area

We could implement a layout listener like Keyboard Plugin does:
https://github.com/ionic-team/capacitor-plugins/blob/main/keyboard/android/src/main/java/com/capacitorjs/plugins/keyboard/Keyboard.java#L61
With this we could emit an event so the safe areas can get updated

We could implement a layout listener like Keyboard Plugin does:
https://github.com/ionic-team/capacitor-plugins/blob/main/keyboard/android/src/main/java/com/capacitorjs/plugins/keyboard/Keyboard.java#L61
With this we could emit an event so the safe areas can get updated

this feature already in the latest version


#Bug

many links are not functional and even in about the link is not working, there is a need for update in readme as well as main git page. I am a GSSOC participant, if I can be assigned under this under ?

go ahead

Any Update ?

Please assign this issue to me I wanna work on this issue

Sorry Sir, I am currently not able to fix the issue due to college loads. Please assign it to someone else

please assign this issue to me.

Hello I want to contribute to the issue. I am new to this repository, Can you please assign me this issue?


How to assess the validity of a linear model based on the data

Discussed in https://github.com/py-why/dowhy/discussions/652

Originally posted by LorenzoCiampiconi September 20, 2022
Hey Everyone,
I would like to open a discussion on how to evaluate the effectiveness and validity of a linear model in estimating causal effects.
Currently I'm working on a project and our model is passing the refutation test proposed in the documentation of this library. The problem is defined with time series of continuous values for treatments, confounders and outcome. I am wondering if there are any other approach to assess if using a linear model is a good idea. In particular, I tried to apply the standard way of verify the assumption of linearity by looking at the residuals of the underlying linear model and performing traditional test such as homoscedasticity test.
We checked the residuals for predicting the outcome (not the estimand) and they didn't look great, we know that the model is fit in order to estimate the ATE, so we are wondering if this can give us any kind of  qualitative feedback.
Does this makes any sense considering your experience? Is there any suggestion on top of this topic?
Thank you

Answered in #652.


(docs) Add libcurl build to README

Documents how to build libcurl on Windows. Since libcurl is only used
for EC2 and GCE facts - which don't use SSL - OpenSSL still isn't
required and a static library is used for simplicity.
[skip ci]

CLA signed by all contributors.


use object api

actual
// vite.config.js

import wasmPack from 'vite-plugin-wasm-pack';

  // only use local crate
  plugins: [
    wasmPack(['./my-local-crate']),
  ],

  // only use npm crate, leave the first param to an empty array
  plugins: [
    wasmPack([], ['test-npm-crate']),
  ],

  // use both local and npm crate
  plugins: [
    wasmPack(['./my-local-crate'], ['test-npm-crate']),
  ],

expected
// vite.config.js

import wasmPack from 'vite-plugin-wasm-pack';

  // only use local crate
  plugins: [
    wasmPack({ local: ['./my-local-crate'] }),
  ],

  // only use npm crate
  plugins: [
    wasmPack({ npm: ['test-npm-crate'] }),
  ],

  // use both local and npm crate
  plugins: [
    wasmPack({ local: ['./my-local-crate'], npm: ['test-npm-crate'] }),
  ],

// index.d.ts

//import type { Plugin } from 'vite';
type Plugin = any;

export default function vitePluginWasmPack(options: {
  local?: string[],
  npm?: string[],
}): Plugin;

hi, @milahu
looks great, would you like to create a pull request?

nope sorry : /
im only using vite-plugin-wasm-pack
as a base for my vite-plugin-emscripten / vite-plugin-treesitter
the api could be even simpler, for example ...
this would make it easier to generalize the code for multiple wasm compilers
// vite.config.js

import wasmPack from 'vite-plugin-wasm-pack';

  // use both local and npm crate
  plugins: [
    wasmPack(
      // list of packages
      [
        './my-local-crate', // local paths start with ./
        'test-npm-crate',
        '@org/pkg',
        { path: './a/b/c', type: 'emscripten', src: /\.(c|cc|cpp)$/ }, // local options for one packages
        { path: 'another-npm-package', type: 'makefile' },
      ],
      // global options for all packages
      {
        globalOption1: '...',
        globalOption2: '...',
      }
    ),
  ],

the resolveId(id) seems to be a noop, since all my ids start with /node_modules/
so that (path.basename(localPathList[i]) === id) is always false

im only using vite-plugin-wasm-pack
as a base for my vite-plugin-emscripten / vite-plugin-treesitter

https://github.com/milahu/vite-plugin-tree-sitter/blob/master/index.js

I'm trying to use this plugin to see if it resolves using wasm-pack-ed packages with Quasar.
Unfortunately, Quasar only supports passing the parameters in object notation: https://quasar.dev/quasar-cli-vite/handling-vite#adding-vite-plugins
Solving this issue would also allow using the plugin with the Quasar framework.
The suggestion seems to me like a breaking change, though. Would that be ok?

I tried it here: https://github.com/alensiljak/vite-plugin-wasm-pack/tree/object-params
but something is wrong with the expected parameters. I'm passing the package name, as listed in package.json. There, it points to the local folder.
Will have to continue this at another time, unfortunately.


Change /meta/instanceID binding to use preload "uid"

Putting this here already. ODK Collect still needs to add support.
Current output:
<bind calculate="concat('uuid:', uuid())" nodeset="/readonly/meta/instanceID" readonly="true()" type="string"/>

New output:
<bind nodeset="/readonly/meta/instanceID" jr:preload="uid" type="string"/>

(the readonly="true()" is not required I believe, since this node has no form control)
The problem with the current method is that it doesn't guarantee the instanceID will remain unchanged for a record, which means clients cannot use this to identify a record (a draft record e.g.).

Also first resolve: https://github.com/opendatakit/odk-xform-spec/issues/47

Doing some housekeeping and ran back into this. Why not wrap concat('uuid:', uuid()) in once() to make sure it only gets populated when empty? That strikes me as a more flexible approach and it avoids jr:preload which I don't think anybody likes.

That would be an improvement. However, in my (probably controversial) option, instanceID and deprecatedID (in the openrosa namespace) are the only nodes were 'magic' is appropriate (even if setvalue becomes supported), because it is so fundamental to (most) ODK IM systems.
So in Enketo, the first thing that happens upon load is to strip the calculate attribute from the instanceID bind and completely ignore whatever value it had. That actually fits better with the preload approach (even though we want to get rid of preloaders..  :worried:).

I see, we can perhaps switch to preload uid now, right?


Manual Deployment no longer reflecting changes

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d1prdls927k8sp
Region
us-east-2
Amplify Hosting feature
Manual deploys
Describe the bug
Upon building React application locally, and then 'drag & drop' the build folder from local windows explorer onto the Choose files area of the AWS UI, wait for the deployment to complete - status changes to Deployment successfully completed, and then refreshing web page (via custom domain), the changes are not reflected.
Expected behavior
Upon successful deployment, and refresh of web page, the changes should be reflected
Reproduction steps

Generate new React build locally via yarn build
Drag and Drop the build folder from Windows Explorer on to Choose files portion of the AWS Web UI
Wait for deployment to complete - status changes to Deployment successfully completed
Refresh web page via custom domain

Build Settings
No response
Additional information

There have been over 70 builds that have successfully completed in this manner
No AWS Amplify settings were changed
No changes to the custom domain
Cache has been cleared multiple times, along with browsing via other devices to no avail

Upon further testing, it seems the changes ARE reflected on the "App Id" subdomain:

I just started using Amplify yesterday and bumped into this exact problem when trying to update the app.
Did it ever work before?
Maybe it only works when deploying from repositories?

Thank you @greendrake for referencing #2846 - I missed this.
I have deployed this way for over a year without issue, so I'm not sure what has changed.
re: CloudFront - when originally setting up the Lambda project and deployment, there was some "automagic" related to CloudFront.  I'm not following re: "I note that the CloudFront distribution serving the app does not belong to the AWS account".
It does feel like something has changed or there is a sync / cache issue.

Ah yes.  I completely agree.

Any update on this (or related) issue?

I have ditched Amplify for S3+CloudFront, and happy with it.

Good to know.  Thank you!

I was able to force the update / sync by following the steps from @soplan in #2844:

Go to your app
under App Settings select Domain Management
Manage Sub Domains
Click Disable
Update
Wait... and Click Enable again

We've root-caused the issue and are currently working on the fix. In the meantime, please use one of the following workarounds:

Disable, then re-enable the custom domain in App Settings > Domain Management > Manage subdomains
Only upload compressed .zip build artifact folders

Closing as duplicate of #2846.


.Net: Code improvements to the Flow Orchestrator

This is a placeholder issue to capture additional feedback on the Flow Orchestrator implementation. The team will suggest changes as the SK core and planner implementations progress.
### Tasks

All .Net issues prior to 1-Dec-2023 are being closed. Please re-open, if this issue is still relevant to the .Net Semantic Kernel 1.x release. In the future all issues that are inactive for more than 90 days will be labelled as 'stale' and closed 14 days later.


Locus pages

Bug

Multiple motifs should be separated e.g. by ,  or newlines. For example, https://strchive.netlify.app/loci/CANVAS_RFC1 looks like a single large motif but is several shorter ones.

Enhancement
Display additional fields:
Disease

"disease_description"
"prevalence"
"prevalence_details"

Locus

"mechanism"
"mechanism_detail"
"location_in_gene"
"gene_strand"
"details"

Alleles

"benign_motif_reference_orientation"
"benign_motif_gene_orientation"
"unknown_motif_reference_orientation" (When present. Unknown category will often be missing)
"unknown_motif_gene_orientation"

Additionally, it would be nice to visually group the benign, pathogenic, and unknown categories.
Note: ref and gene orientation will be the same for all + strand genes and different for all - strand genes (from "gene_strand")
Locus coordinates should be links in the following format:
${f.chrom}:${f.start_hg19}-${f.stop_hg19}

${f.chrom}:${f.start_hg38}-${f.stop_hg38}

${f.chrom}:${f.start_t2t}-${f.stop_t2t}

Any thoughts on how to display, or even better store the "prevalence" field? At the moment is a fraction stored as text because I didn't want to use floats.


Unable download UniDic form clrd.ninjal.ac.jp

error: failed to run custom build command for `lindera-unidic v0.13.5 (/home/minoru/github.com/lindera-morphology/lindera/lindera-unidic)`

Caused by:
  process didn't exit successfully: `/home/minoru/github.com/lindera-morphology/lindera/target/debug/build/lindera-unidic-0a9382db4954e5bf/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-changed=Cargo.toml

  --- stderr
  Error: Transport(Transport { kind: ConnectionFailed, message: Some("tls connection init failed"), url: Some(Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("clrd.ninjal.ac.jp")), port: None, path: "/unidic_archive/cwj/2.1.2/unidic-mecab-2.1.2_src.zip", query: None, fragment: None }), source: Some(Custom { kind: InvalidData, error: InvalidCertificateData("invalid peer certificate: UnknownIssuer") }) })

@mosuka what was the fix for the above issue?

@cherring07
The TLS certificate for their site has been updated and resolved.
This issue has occurred frequently in the past and we now download the dictionary files in Cloudflare R2 when we build.
Please see the following issue.
https://github.com/lindera-morphology/lindera/issues/336
Thanks 😃

Thanks - I'm experiencing the issue with versions 0.27.0 and 0.27.1, so both the drive.google and cloudflare download url.
Any suggestions for potential. causes?

Thank you for reporting this.
If you don't mind, could you tell me what error message you are getting?