Unexpected full ascii chars

Hello,
I've just tested the full ascii chars feature.
I tried to display following characters:
\xe8 \xe9 \xea \xeb
This should result to the following display:
è é ê ë
Instead I got some unexpected greek letters

Hello,
I've just understand that you used the DOS code page as the ascii extension, and not the Windows-1252 characters.
It doesn't matter, I will code a little conversion routine. I only need latin characters, such a 'é', 'ê', 'à', etc.
These characters are present in both charsets and a mapping is possible.

@sebastienroy Do the Windoes-1252 encoding of those character match the codepoints for them in UTF?

@FunMiles They might not as these fonts were generated using codepages, more specifically "Codepage 437 United States".

@Harbys, glad to hear from you. I am integrating your library inside a C++20 coroutine-based asynchronous library for the Raspberry Pi Pico.
How did you generate the .h with the fonts? I have not played with text yet, but drawing lines is working.
I think I'll contribute some line-drawing routines as well.
I am going to get text running today hopefully. The code is not yet pushed on github but will be soon:
https://github.com/FunMiles/PicoAsync

How do I get the degree character? Wikipedia for Codepage 437 shows 0xb0 and 0xba looking more or less like it, but the former gives a checker-board pattern and the latter gives two vertical lines.

I generated font files from files like these

I wanted to create a repo with a python script I used, but can't find it. It was a crude simple script. If I find some spare time, I'll recreate a similar script and upload it

Hello,
I've try to map all the character I could map. Of course it was not possible for all of them.
Here is the result:
I hope it can help
CodePage437 |   |   |   | Windows-1252 |
-- | -- | -- | -- | -- | --
DEC | HEX |   | Description | DEC | HEX
128 | 80 | Ç | Upper case C with cedilla | 199 | C7
129 | 81 | ü | Lower case u with diaeresis | 252 | FC
130 | 82 | é | Lower case e with acute | 233 | E9
131 | 83 | â | Lower case a with circumflex | 226 | E2
132 | 84 | ä | Lower case a with diaeresis | 228 | E4
133 | 85 | à | Lower case a with grave | 224 | E0
134 | 86 | å | Lower case a with ring above | 229 | E5
135 | 87 | ç | Lower case c with cedilla | 231 | E7
136 | 88 | ê | Lower case e with circumflex | 234 | EA
137 | 89 | ë | Lower case e with diaeresis | 235 | EB
138 | 8A | è | Lower case e with grave | 232 | E8
139 | 8B | ï | Lower case i with diaeresis | 239 | EF
140 | 8C | î | Lower case i with circumflex | 238 | EE
141 | 8D | ì | Lower case i with grave | 236 | EC
142 | 8E | Ä | Upper case A with diaeresis | 196 | C4
143 | 8F | Å | Upper case A with ring above | 197 | C5
144 | 90 | É | Upper case E with acute | 201 | C9
145 | 91 | æ | Lower case ae | 230 | E6
146 | 92 | Æ | Upper case AE | 198 | C6
147 | 93 | ô | Lower case o with circumflex | 244 | F4
148 | 94 | ö | Lower case o with diaeresis | 246 | F6
149 | 95 | ò | Lower case o with grave | 242 | F2
150 | 96 | û | Lower case u with circumflex | 251 | FB
151 | 97 | ù | Lower case u with grave | 249 | F9
152 | 98 | ÿ | Lower case y with diaeresis | 255 | FF
153 | 99 | Ö | Upper case O with diaeresis | 214 | D6
154 | 9A | Ü | Upper case U with diaeresis | 220 | DC
155 | 9B | ¢ | Cent sign | 162 | A2
156 | 9C | £ | Pound sign | 163 | A3
157 | 9D | ¥ | Yen sign | 165 | A5
158 | 9E |   | Peseta sign |   |
159 | 9F | ƒ | Lower case f with hook | 131 | 83
160 | A0 | á | Lower case a with acute | 225 | E1
161 | A1 | í | Lower case i with acute | 237 | ED
162 | A2 | ó | Lower case o with acute | 243 | F3
163 | A3 | ú | Lower case u with acute | 250 | FA
164 | A4 | ñ | Lower case n with tilde | 241 | F1
165 | A5 | Ñ | Upper case N with tilde | 209 | D1
166 | A6 | ª | Feminine ordinal indicator | 170 | AA
167 | A7 | º | Masculine ordinal indicator | 186 | BA
168 | A8 | ¿ | Inverted question mark | 191 | BF
169 | A9 |   | Reversed not sign |   |
170 | AA | ¬ | Not sign | 172 | AC
171 | AB | ½ | Vulgar fraction one half | 189 | BD
172 | AC | ¼ | Vulgar fraction one quarter | 188 | BC
173 | AD | ¡ | Inverted exclamation mark | 161 | A1
174 | AE | « | Left-pointing double angle quotation mark | 171 | AB
175 | AF | » | Right-pointing double angle quotation mark | 187 | BB
176 | B0 |   | Light shade |   |
177 | B1 |   | Medium shade |   |
178 | B2 |   | Dark shade |   |
179 | B3 |   | Box drawings light vertical |   |
180 | B4 |   | Box drawings light vertical and left |   |
181 | B5 |   | Box drawings vertical single and left double |   |
182 | B6 |   | Box drawings vertical double and left single |   |
183 | B7 |   | Box drawings down double and left single |   |
184 | B8 |   | Box drawings down single and left double |   |
185 | B9 |   | Box drawings double vertical and left |   |
186 | BA |   | Box drawings double vertical |   |
187 | BB |   | Box drawings double down and left |   |
188 | BC |   | Box drawings double up and left |   |
189 | BD |   | Box drawings up double and left single |   |
190 | BE |   | Box drawings up single and left double |   |
191 | BF |   | Box drawings light down and left |   |
192 | C0 |   | Box drawings light up and right |   |
193 | C1 |   | Box drawings light up and horizontal |   |
194 | C2 |   | Box drawings light down and horizontal |   |
195 | C3 |   | Box drawings light vertical and right |   |
196 | C4 |   | Box drawings light horizontal |   |
197 | C5 |   | Box drawings light vertical and horizontal |   |
198 | C6 |   | Box drawings vertical single and right double |   |
199 | C7 |   | Box drawings vertical double and right single |   |
200 | C8 |   | Box drawings double up and right |   |
201 | C9 |   | Box drawings double down and right |   |
202 | CA |   | Box drawings double up and horizontal |   |
203 | CB |   | Box drawings double down and horizontal |   |
204 | CC |   | Box drawings double vertical and right |   |
205 | CD |   | Box drawings double horizontal |   |
206 | CE |   | Box drawings double vertical and horizontal |   |
207 | CF |   | Box drawings up single and horizontal double |   |
208 | D0 |   | Box drawings up double and horizontal single |   |
209 | D1 |   | Box drawings down single and horizontal double |   |
210 | D2 |   | Box drawings down double and horizontal single |   |
211 | D3 |   | Box drawings up double and right single |   |
212 | D4 |   | Box drawings up single and right double |   |
213 | D5 |   | Box drawings down single and right double |   |
214 | D6 |   | Box drawings down double and right single |   |
215 | D7 |   | Box drawings vertical double and horizontal single |   |
216 | D8 |   | Box drawings vertical single and horizontal double |   |
217 | D9 |   | Box drawings light up and left |   |
218 | DA |   | Box drawings light down and right |   |
219 | DB |   | Full block |   |
220 | DC |   | Lower half block |   |
221 | DD |   | Left half block |   |
222 | DE |   | Right half block |   |
223 | DF |   | Upper half block |   |
224 | E0 |   | Greek lower case alpha |   |
225 | E1 | ß | Lower case sharp s | 223 | DF
226 | E2 |   | Greek upper case letter gamma |   |
227 | E3 |   | Greek lower case pi |   |
228 | E4 |   | Greek upper case letter sigma |   |
229 | E5 |   | Greek lower case sigma |   |
230 | E6 | µ | Micro sign | 181 | B5
231 | E7 |   | Greek lower case tau |   |
232 | E8 |   | Greek upper case letter phi |   |
233 | E9 |   | Greek upper case letter theta |   |
234 | EA |   | Greek upper case letter omega |   |
235 | EB |   | Greek lower case delta |   |
236 | EC |   | Infinity |   |
237 | ED |   | Greek lower case phi |   |
238 | EE |   | Greek lower case epsilon |   |
239 | EF |   | Intersection |   |
240 | F0 |   | Identical to |   |
241 | F1 | ± | Plus-minus sign | 177 | B1
242 | F2 |   | Greater-than or equal to |   |
243 | F3 |   | Less-than or equal to |   |
244 | F4 |   | Top half integral |   |
245 | F5 |   | Bottom half integral |   |
246 | F6 | ÷ | Division sign | 247 | F7
247 | F7 |   | Almost equal to |   |
248 | F8 | ° | Degree sign | 176 | B0
249 | F9 | • | Bullet operator | 149 | 95
250 | FA | · | Middle dot | 183 | B7
251 | FB |   | Square root |   |
252 | FC |   | Superscript lower case n |   |
253 | FD | ² | Superscript two | 178 | B2
254 | FE |   | Black square |   |
255 | FF |   | No-break space | 160 | A0


Problems with Inkscape 1.0

Scenario 1: Windows 10 x64, Inkscape 1.0 portable freshly unzipped
SVG: Multilayer SVG, all layers unvisible but TWO! cutting layers
Result:
Several deprecation messages and a weird screen ouput in preview, the plug took use of some hided layers and created its own positions,

scalings and proportions.
A little closer view with the shades of the two cutting layers "cut1" and "Cut Seg Lockout" within the DIN A4 frame

The generated gcode file includes 300kB Data.
Next try, same svg with all unvisible layers deleted:

Odd placement but correct scalings and dimensions, the generated gcode counts 8,6 kB ;)
Scenario 2 : Windows 7x32 within Virtualbox on Ubuntu Host(20.04), Inkscape 1.0 portable freshly unzipped
SVG: One layer with an outline for cutting, burning..
same screen results as with scenario 3
Scenario 3: Ubuntu 20.04
deprecation warnings, wrong scaling, wrong placing

While win7 gcode (scenario 3) eats 2.9 kB Ubuntu's gcode is a little smaller, 2.7 kB
Both files match in line numbers but differ in "G1" code lines..

To compare:
With Inkscape 0.92.5/Ubuntu Studio 19.10 the screen output is correct (within borders, lines&arrows maybe a little big..) and the gcode eats only 2.5 K while tallying same lines but differing of course..

raceback (most recent call last):
File "laser.py", line 78, in
from inkex.paths import CubicSuperPath  # noqa
ImportError: No module named paths
this is the error what i have

I get some similar results to OPs. The extension mostly works fine, but when I tried to use it after applying Hershey text, I got the same script error as @bianchifan and the result in inkscape was a lot of huge displaced paths.
macOS 10.13, Inkscape 1.0.

raceback (most recent call last):
File "laser.py", line 78, in
from inkex.paths import CubicSuperPath # noqa
ImportError: No module named paths
this is the error what i have

Jithivk, check out this issue. ImportError: No module named paths #3

@bianchifan This is really weird. I'm not even sure how to start reproducing this bug. The output really shouldn't vary between operating systems. Are you sure you kept the same Inkscape version, extension version, and settings between experiments?

In the meantime, could you share the SVG's which don't work? I can't work on this now but I'll try and reproduce your issue when I have a little time.

The output really shouldn't vary between operating systems. Are you sure you kept the same Inkscape version, extension version, and settings between experiments?
Ubuntu 20.02:  Official Inkscape 1.0
Windows 10 x64
Windowx 7 x32 (Modern IE) / Virtualbox :  Inscape 1.0 poertable from PortableApps

Settings should be equal

In the meantime, could you share the SVG's which don't work?

In the meantime the svgs had changed due to to varied placing and new objects.
I can share the actual version:
Fox32_decals_Set_portrait.zip

Fox32_decals_Set_portrait_cut2.zip

Hi,
I have same warning with fresh Inkscape 1.0 install and corresponding pluggin 1.0 beta (win7 64).
In my case the preview is very far from the original drawing :

I had already reported this bug with this file to JTP with previous 0.92 extension.
The source file is a part from another complex SVG and I only extracted the part that make this bug happen :
drawing_initial.zip

Please let me know if you need some more details.

@bianchifan It would be nice if you could give it a try and share if you have similar issue with my SVG

1st.. Ubuntu 20.04 / Inkscape 1.0
does not run due to syntax error

2nd.. Win7 x32 / Inkscape 1.0 portable version (PortableApps) via Virtualbox

Hello friends. I use your plugin for laser engraving in InkScape 1.0 on a Catalina MacOs.
In this version of MacOs I cannot install 0.92, only 1.0 For some reason after updating the Operating System I can no longer use the plugin. When I generate the file for recording, I receive the following message:
File "laser.py", line 51
def bezierslopeatt ((((bx0, by0), (bx1, by1), (bx2, by2), (bx3, by3)), t):
^
SyntaxError: invalid syntax
I appreciate if you can help me.
Congratulations on the great job.
Thank you.
Pablo Sica

All of the above issues should be fixed in the latest release v1.1 patch. @bianchifan and everyone else, let me know if the problem has been resolved so I can close this issue.

quick test of v1.1 patch...

actions within Ubuntu 20.04 and Win7-Virtualbox(Modern IE) are equal, scaling & positioning seems to be ok :)
still no difference between hidden and visible layers - all layers are routed
the preview shines very ,very big, still - not able to drive in detailed view

PS:
only this should be routed

Perfect, the scaling issues were the main problem here. The fact that hidden layers aren't ignored is the subject of a different issue so I'll close this one.


[Korean CVC Phonemizer] Fix "ㄹ" sandhi rule

This fixes the "ㄹ" sandhi rule in notes with a null initial ("ㅇ").

never mind


Profile timing for minibatch federated learning

Increasing the number of minibatch seems to increase the time to do a federated run.
This might be due to the process of:

creating the model
setting the weights
compiling the model

This can help: https://blog.tensorflow.org/2020/04/introducing-new-tensorflow-profiler.html?m=1

_make_train_function should be investigated

Yes it would be interesting to use the tensorflow profiler : https://blog.tensorflow.org/2020/04/introducing-new-tensorflow-profiler.html?m=1


empty function with implicit instance member assignment as param

I disagree with the test here that says this should error. I think it should pass.
The case where I have this occur is in the constructor of a class.
class Test
  constructor: (@value) ->

That was discussed in the PR that introduced the rule. I suspect you can work around this using
class Test
  constructor: (@value) -> undefined

I don't use this rule, so i'll make no statement on who is right here.


Add property to enable/disable change cell after pressing Enter

When disabled the current cell should be unchanged after pressing Enter.

Adding property IsMoveAfterEnterEnabled. Default value: true.


Erroneous results on particular image set

I've been testing various image sets trying to isolate a bug and I got weird results on this one.   There are no duplicates or similar images in this set.   Similarity was to high.  For example, the first result detected 32 duplicates with many of the files being listed more than once.
difPy output.zip
The image set can be downloaded here since it's to big to post.
https://drive.google.com/file/d/1pbl7SttHF-mB35V1Q5ehj6A5wCb68o3B/view?usp=sharing

Hi @MarcG2,
Thanks a lot for your feedback!
v2.4.3 has just been released which includes a major bug fix detected in v.2.4.2. Therefore, please update to the newest version as this will likely fix your issue. If the issue should still persist, please let me know and I'll have a detailed look at it!
Again thanks and all the best,
Elise

I just tested out the new version on the same set of images.  It appears that the duplicate detection algorithm doesn't work at all on grayscale images, such as pages from a manga comic.   Is this expected behavior?
I haven't dug into the code since I don't use python.  I can try changing some of the search parameters.  What the default value for px_size?

HI @MarcG2,
I double checked your issue again by using your data set, and indeed, I found there was an issue occurring when decoding certain types of black and white images, like you mentioned. The issue should now be fixed with v2.4.4, since I adjusted the decoding algorithm of difPy, which now correctly decodes all image types. Please let me know if you should stumble upon any other issue and I'll be happy to help!
Again thanks a lot for your input and all the best,
Elise


Is it possible to make hotspot move along with the model ?

Hi,
I have given some hotspots on the model, when model is Idle the hotspot position is fine.
But when the model have animation like running/Jump the hotspot are static, not moving along with the model.
Is there any way that we can give hotspot as child of particular part of the model ?
Example: If  want to give hotspot as a child of hand for this model, so that the hotspot move along with the hand when the
animations are performed.
Glitch .

Yes, this has been near the top of the feature list for awhile. I need to do some work on the scene-graph API to enable it.

ok ,thanks.


Config resets every time game is launched

Title pretty much, for some reason all changes made in configs resets to default instead staying as how i hope them to be as once i launch game or even server

Sorry for the late reply, I will look into this.

Fixed in 1.19.2 Full Release


Multiple Builds

I have a single crate, from which I'd like to generate three separate wasm builds. I have the crate root structured like so:
use wee_alloc::WeeAlloc;

#[global_allocator]
static ALLOC: WeeAlloc = WeeAlloc::INIT;

#[cfg(feature = "hashers")]
pub mod hashers;

#[cfg(feature = "sr25519")]
pub mod sr25519;

#[cfg(feature = "ss58")]
pub mod ss58;

Within my deno.jsonc tasks, I have the following.
{
  ...
  "build_wasm": "deno run --unstable -A<EMAIL_ADDRESS>--out",
  "build_hashers_wasm": "deno task build_wasm bindings/hashers --features hashers",
  "build_sr25519_wasm": "deno task build_wasm bindings/sr25519 --features sr25519",
  "build_ss58_wasm": "deno task build_wasm bindings/ss58 --features ss58",
  "build_all_wasm": "deno task build_hashers_wasm && deno task build_sr25519_wasm && deno task build_ss58_wasm"
  ...
}

I have two questions:

Is there a simpler approach to building each feature into a separate wasm+binding pair? Something like a --features-as-separate-builds flag. I'd very much like to do away with 4 lines of task boilerplate.
Are there any optimizations that would enable the multiple builds to share some of the env glue? Each of these will bundle in the allocator... this isn't ideal. Any tips would be greatly appreciated.

Is there a simpler approach to building each feature into a separate wasm+binding pair? Something like a --features-as-separate-builds flag. I'd very much like to do away with 4 lines of task boilerplate.

I think it adds a bit too much complexity to this if we start having it do multiple builds per run instead of a single build per run. The setup you have doesn't seem too bad and it could be parallelized.

Are there any optimizations that would enable the multiple builds to share some of the env glue? Each of these will bundle in the allocator... this isn't ideal. Any tips would be greatly appreciated.

That's a good idea. I opened #23.

That would require wasmbuild needing to distribute a rust crate I think? All of this seems much more complicated than what's done in deno_std which seems very straightward. What's done in deno_std could also be parallelized across processes.

Makes complete sense 👍


does not work with arduino 1.8.15

/home/ellie/Arduino/libraries/attiny85FasterPin/src/Attiny85FasterPin.cpp: In constructor 'Attiny85FasterPin::Attiny85FasterPin(uint8_t, uint8_t)':
/home/ellie/Arduino/libraries/attiny85FasterPin/src/Attiny85FasterPin.cpp:9:15: error: 'analogInputToDigitalPin' was not declared in this scope
pin = analogInputToDigitalPin((pin & 127));
^~~~~~~~~~~~~~~~~~~~~~~
/home/ellie/Arduino/libraries/attiny85FasterPin/src/Attiny85FasterPin.cpp:9:15: note: suggested alternative: 'analogInPinToBit'
pin = analogInputToDigitalPin((pin & 127));
^~~~~~~~~~~~~~~~~~~~~~~
analogInPinToBit
exit status 1
Error compiling for board ATtiny25/45/85.
any suggestions? do i need to downgrade my IDE?

hey,
can you try Attiny85IO?

i get the same message

ok i will check today why this happens.

i get the same message

pushed update. i dont know when arduino library manager updates, but for now you can download repo as zip and import library. should work.

works perfectly! thank you! this library is just a bit smaller than some of the other ones out there so im glad it works now


Hot restart/reload for web should allow controlling invalidation of resources.

We should know in the tool what resources have been invalidated when performing a hot restart.  In should be possible to, via some debugger connection, provide the list of invalidated resources and and preserve the rest.
This would remove the loading jank for applications with lots of fonts.

Hope you don't mind me asking it here but is hot reload supported for web yet? I read that it's not but since you mention it...

@NicolasDionB  https://flutter.dev/docs/development/platform-integration/web#does-hot-reload-work-with-a-web-app


Add support for Slicer Segmentation Objects as masks

Currently masked registration requires the masks to be labelmaps, which makes sense. However, since this version of ANTsRegistration is specific to Slicer, it would be nice to use the segmentations as masks as well.
Would it be possible to add that as well (i.e., support both segmentations and labelmaps).
if it is extra burden complexity to implement that, at least add a tooltip that says "Make sure you have exported (or loaded) your segmentation as a labelmap".

@muratmaga good idea, yes we will add this. Internally, we can convert the segmentation to a labelmap when it is passed to ANTs.


EQMAC freezes on startup after subscription.

Bought a lifetime subscription and now the EQMAC just freezes on startup.
I use MAC OS 10.15.7 on an old mac pro with 2 x 2.8GHz quad core Intel Xeon processors
Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
A clear and concise description of what the bug is.
Steps to Reproduce
Steps to reproduce the behaviour (feel free to change the placeholder as you need):

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behaviour
A clear and concise description of what you expected to happen.
Setup information:

Audio device used for playback: [eg AirPods or Macbook speaker or Bose QC32]
Audio transmission interface: [eq HDMI or Bluetooth or 3.5mm Jack]
macOS Version: [e.g. 10.15]
eqMac Version [e.g. 0.0.1] (if audio related issue)
eqMac UI Version [e.g. 0.0.4] (if UI related issue)

Screenshots or Console.app logs
If applicable, add screenshots to help explain your problem. Also you can run Console.app and apply filter for eqMac
Additional information
Add any other context about the problem here.

Hi, are you still having this issue? If so, please reach out to our support. You can find the support chat at the bottom right at out home page https://eqmac.app


Unable to create directory of name starting with number

In the sidebar treeview when I try to create a directory named 04 entering a and then 04/ creates a file named 04 even though a trailing slash is present. This seems to happen whenever filename starts with a number.

Actually, for me the trailing slash to add a directory is not working for any file name.  I'll fix that.

@cseickel: I just experienced this too, and thanks for your upcoming fix!


setting multiple tickers does not work

Here is my code:
import yfinance as yf

tickers = yf.Tickers("msft qqq dis spy amd googl lmt ko vti spief")
print(tickers)
print(type(tickers))

print(tickers.MSFT.info)
print(tickers.MSFT.info["ask"])
print(tickers.MSFT.info['bid'])

And here's the output:
yfinance.Tickers object <MSFT,QQQ,DIS,SPY,AMD,GOOGL,LMT,KO,VTI,SPIEF>
<class 'yfinance.tickers.Tickers'>
Traceback (most recent call last):
  File "C:\Users\thoma\Desktop\Plain Text\Ledger\yahoofinance.py", line 7, in <module>
    print(tickers.MSFT.info)
AttributeError: 'Tickers' object has no attribute 'MSFT'

It does this whether I capitalize MSFT or not.

I was actually just looking at this myself. with a set up similar to yours @ThomasBurgess2000
it looks like tickers is actually a list. If you do something like this it should work.
tickers.tickers.MSFT.get_info()

I was actually just looking at this myself. with a set up similar to yours @ThomasBurgess2000
it looks like tickers is actually an object for tickers. If you do something like this it should work.
tickers.tickers.MSFT.get_info()
this will give you the ticker at the corresponding index -> tickers.symbols[0]

This works! This doesn't seem to be the way it's supposed to be, but it'll work for now.

I ended up doing this so I wouldn't have to rewrite everything:
tickers_fake = yf.Tickers("msft qqq dis spy amd googl lmt ko vti spief")
tickers = tickers_fake.tickers

print(tickers.MSFT.info)

This will also make it easy to change once it is fixed in the library.

Or just
tickers = yf.Tickers("msft qqq dis spy amd googl lmt ko vti spief").tickers

And then if you want the ticker of each tickers it's:
tickers = yf.Tickers(list_of_equities).tickers

for ticker in tickers:
    print (ticker.ticker)

This library man...

It's quite frustrating in it's design, as non-US tickers with a period in them obviously can't be used in a named tuple and it just breaks.

Is there a solution to the issue stated by Rambatino regarding non-US tickers? I have a list of non-US tickers al ending with '.AS' which I can enter into the multiple tickers object (type 'tickers.Tickers'). However, due the ticker names I can't call on them...

tickers.tickers["MSFT"] etc


Smoke Test Error when Build from Source (v0.18.2)

When running the Smoke Test example code, it works perfectly with the release (v0.18.2). However, when building from source (v0.18.2), the same test code results in errors. It seems to fail on finding ethernet fw version and when just using tt-smi, the firmware version shows as 6.9.0 which is fine.
Is this the expected outcome? Or have I missed something while compiling from source code?
I think this inconsistency needs investigation to ensure the source build aligns with the release version for other external developers.
How I build and run test
git clone https://github.com/tenstorrent/tt-buda
cd tt-buda
git checkout tags/v0.18.2
git submodule update --init --recursive

export ARCH_NAME=wormhole_b0
make -j |& tee cmake.log

source build/python_env/bin/activate
python smoke_test.py

Error log
2024-09-07 14:29:40.981 | INFO     | SiliconDriver   - Software version 6.0.0, Ethernet FW version 0.0.187 (Device 0)
2024-09-07 14:29:40.981 | FATAL    | Always          - SW/FW major version number out of sync
2024-09-07 14:29:41.000 | ERROR    | Always          - SW/FW major version number out of sync
backtrace:
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libdevice.so(+0x3c08d) [0x7ff9f196e08d]
 --- tt_SiliconDevice::verify_eth_fw()
 --- tt_SiliconDevice::start_device(tt_device_params const&)
 --- tt_cluster::start_device(tt_device_params const&)
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x7771e0) [0x7ff9f21b81e0]
 --- /lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4) [0x7ffb70681df4]
 --- /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7ffb88ef2609]
 --- /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ffb8902c353]
2024-09-07 14:29:41.001 | FATAL    | Always          - Attempting to read device aiclk when cluster device state is set to idle
2024-09-07 14:29:41.005 | ERROR    | Always          - Attempting to read device aiclk when cluster device state is set to idle
backtrace:
 --- tt_cluster::get_all_device_aiclks()
 --- tt_runtime::query_all_device_aiclks(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
 --- tt_runtime::finish()
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/_C.so(+0x8b0b9f) [0x7ff9f2de9b9f]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/_C.so(+0x2aef86) [0x7ff9f27e7f86]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(PyCFunction_Call+0x59) [0x5f58f9]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyObject_MakeTpCall+0x29e) [0x5f64ce]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3() [0x50b4b3]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x5777) [0x570b67]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x1b6) [0x5f5ca6]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x907) [0x56bcf7]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalCodeWithName+0x26a) [0x569dfa]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x393) [0x5f5e83]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3() [0x59c27e]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyObject_MakeTpCall+0x1ff) [0x5f642f]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x59ad) [0x570d9d]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalCodeWithName+0x26a) [0x569dfa]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x393) [0x5f5e83]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x907) [0x56bcf7]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x1b6) [0x5f5ca6]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x907) [0x56bcf7]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x1b6) [0x5f5ca6]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3() [0x50ad5c]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(PyObject_Call+0x62) [0x5f5072]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x1f2d) [0x56d31d]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x1b6) [0x5f5ca6]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x907) [0x56bcf7]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalCodeWithName+0x26a) [0x569dfa]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x393) [0x5f5e83]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x907) [0x56bcf7]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x1b6) [0x5f5ca6]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x725) [0x56bb15]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalCodeWithName+0x26a) [0x569dfa]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyFunction_Vectorcall+0x393) [0x5f5e83]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalFrameDefault+0x1905) [0x56ccf5]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_PyEval_EvalCodeWithName+0x26a) [0x569dfa]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(PyEval_EvalCode+0x27) [0x68ce77]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3() [0x67e631]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3() [0x67e6af]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(PyRun_StringFlags+0x7f) [0x67e7ff]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(PyRun_SimpleStringFlags+0x3f) [0x67f20f]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(Py_RunMain+0x2cc) [0x6b687c]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(Py_BytesMain+0x2d) [0x6b6b4d]
 --- /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7ffb88f31083]
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/build/python_env/bin/python3(_start+0x2e) [0x5fa81e]
2024-09-07 14:29:41.005 | INFO     | Debuda          - Debug server ended on
2024-09-07 14:29:41.008 | ERROR    | pybuda.backend:log_compile_errors:118 - Backend compile failed with error type: BackendCompileFailure.Invalid, error message: SW/FW major version number out of sync
backtrace:
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libdevice.so(+0x3c08d) [0x7ff9f196e08d]
 --- tt_SiliconDevice::verify_eth_fw()
 --- tt_SiliconDevice::start_device(tt_device_params const&)
 --- tt_cluster::start_device(tt_device_params const&)
 --- /home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/../../third_party/budabackend/build/lib/libtt.so(+0x7771e0) [0x7ff9f21b81e0]
 --- /lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4) [0x7ffb70681df4]
 --- /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7ffb88ef2609]
 --- /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ffb8902c353]
2024-09-07 14:29:41.014 | ERROR    | pybuda.device:run_next_command:469 - Compile error: Backend compile failed!
Traceback (most recent call last):
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/ttdevice.py", line 832, in compile_for
    self.backend_api = BackendAPI(
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/backend.py", line 87, in __init__
    raise BackendCompileException(self.compile_result)
pybuda.backend.BackendCompileException: <pybuda._C.backend_api.BackendCompileResult object at 0x7ffa8b342370>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/device.py", line 458, in run_next_command
    ret = self.compile_for(
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/ttdevice.py", line 858, in compile_for
    raise RuntimeError("Backend compile failed!")
RuntimeError: Backend compile failed!
Traceback (most recent call last):
  File "smoke-test/smoke_test.py", line 35, in <module>
    test_module_direct_pytorch()
  File "smoke-test/smoke_test.py", line 30, in test_module_direct_pytorch
    output = pybuda.PyTorchModule("direct_pt", PyTorchTestModule()).run(input1, input2)
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/module.py", line 95, in run
    output_q = pybuda.run_inference(self, inputs=[args])
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/run/api.py", line 90, in run_inference
    return _run_inference(module, inputs, input_count, output_queue, _sequential, _perf_trace, _verify_cfg)
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/run/impl.py", line 277, in _run_inference
    return _run_devices_inference(
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/run/impl.py", line 467, in _run_devices_inference
    output_queue = _initialize_pipeline(False, output_queue, sequential=sequential, verify_cfg=verify_cfg)
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/run/impl.py", line 414, in _initialize_pipeline
    _compile_devices(sequential, training=training, sample_inputs=sample_inputs, sample_targets=sample_targets, microbatch_count=microbatch_count, verify_cfg=verify_cfg)
  File "/home/n4/jaehwan/research/tenstorrent/pybuda/tt-buda/pybuda/pybuda/run/impl.py", line 1252, in _compile_devices
    raise ret
RuntimeError: Backend compile failed!
2024-09-07 14:29:41.021 | DEBUG    | pybuda.run.impl:_shutdown:1269 - PyBuda shutdown

@jhlee508 I would recommend that you try doing the build with the provided bash file: https://github.com/tenstorrent/tt-buda/blob/main/env_for_wormhole_b0.sh

Now this works fine! Thanks.


Considering integrating time server client into image

Considering installing NTP client or something similar such as in this tutorial into the image as a way to update time on pis on boot by including another network connection config with autoconnect priority over the AP so that all the Pis can get updated times from a raspberry pi that acts as a server and has updated from something like a phone hotspot before turning on its own AP. Sounds a little cumbersome and would likely require a Pi on a different image if not one with at least some extra configuration.

I'm with you on the cumbersome thing :)  the time issue only gets in the way for naming logs at the moment and I don't actually mind if I end up losing some logs while we are learning.


128 bit numbers

See #59
todo:

[ ] bench
[x] implement 128bit parsing
[ ] remove 128bit as default flag

Initial perf (just memory layout updates & functions, no parsing).
Impact is measurable but not terrible, nothing to enable by default but as a flag for those who need it it's acceptable performance I think.
0.2.2 (master)
======= simd_json ======== parse|stringify ===== parse|stringify ====
data/canada.json         530 MB/s   420 MB/s   710 MB/s   320 MB/s
data/citm_catalog.json  1130 MB/s   480 MB/s  1550 MB/s   610 MB/s
data/twitter.json        920 MB/s   600 MB/s  1000 MB/s   640 MB/s
data/log.json           1080 MB/s  1080 MB/s  1080 MB/s  1080 MB/s

===== simd_json_tape ===== parse|stringify ===== parse|stringify ====
data/canada.json         770 MB/s
data/citm_catalog.json  1890 MB/s
data/twitter.json       1670 MB/s
data/log.json           2170 MB/s

this
======= simd_json ======== parse|stringify ===== parse|stringify ====
data/canada.json         510 MB/s   430 MB/s   670 MB/s   330 MB/s
data/citm_catalog.json  1110 MB/s   500 MB/s  1520 MB/s   650 MB/s
data/twitter.json        900 MB/s   610 MB/s   970 MB/s   650 MB/s
data/log.json           1080 MB/s  1080 MB/s  1080 MB/s  1080 MB/s

===== simd_json_tape ===== parse|stringify ===== parse|stringify ====
data/canada.json         760 MB/s
data/citm_catalog.json  1880 MB/s
data/twitter.json       1640 MB/s
data/log.json           2170 MB/s

@mstump do you want to give this branch a try and see if it solves your issue?

(marking this as non draft to get codecov to post it's stuff) - not ready to be merged yet but input is more then welcome

:joy: well no this definetly needs work!

@sunnygleason this should be ready for review :)

@sunnygleason could I bug you for a review so we can merge this?

I finally climbed out from under my pile of demos and I'm sorry to report that I'm still getting weird behavior with this branch.
Cargo snipit:
[dependencies.simd-json]
git = "https://github.com/simd-lite/simdjson-rs"
branch = "128-bit-numbers"
features = ["128bit"]

With the 128bit feature enabled I get the error message:
thread 'reporter_message::raw_message::tests::test_deserialize_elastic_search' panicked at 'JsonSimdError(Error { index: 0, character: '💩', error: Serde("invalid type: i128, expected any value") })', src/reporter_message/raw_message.rs:398:25

Where previously I got:
thread 'reporter_message::raw_message::tests::test_deserialize_elastic_search' panicked at 'JsonSimdError(Error { index: 191048, character: '\n', error: Overflow })', src/reporter_message/raw_message.rs:398:25

The enum that it's decoding is
#[serde(untagged)]
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
pub enum RawMessageMetricValue {
    Boolean(bool),
    Float(f64),
    Long(i128),
    Integer(i64),
    Metric(Vec<RawMessageMetricNode>),
    String(String),
}

The offending JSON is below, it cleanly deserializes with serde_json.
{
  "name": "max_unsafe_auto_id_timestamp",
  "value": -9223372036854776000
}

That looks like I did something wrong in the serde interop, I’ll check tomorrow if I can work out what serde expects of us for 128 but support thanks for sharing the structure and data that go right into a test
Cheers,
Heinz

From: Matt Stump<EMAIL_ADDRESS>Sent: Monday, January 13, 2020 10:45:23 PM
To: simd-lite/simdjson-rs<EMAIL_ADDRESS>Cc: Heinz Gies<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [simd-lite/simdjson-rs] 128 bit numbers (#88)
I finally climbed out from under my pile of demos and I'm sorry to report that I'm still getting weird behavior with this branch.
Cargo snipit:
[dependencies.simd-json]
git = "https://github.com/simd-lite/simdjson-rs"
branch = "128-bit-numbers"
features = ["128bit"]
With the 128bit feature enabled I get the error message:
thread 'reporter_message::raw_message::tests::test_deserialize_elastic_search' panicked at 'JsonSimdError(Error { index: 0, character: '💩', error: Serde("invalid type: i128, expected any value") })', src/reporter_message/raw_message.rs:398:25
Where previously I got:
thread 'reporter_message::raw_message::tests::test_deserialize_elastic_search' panicked at 'JsonSimdError(Error { index: 191048, character: '\n', error: Overflow })', src/reporter_message/raw_message.rs:398:25
The enum that it's decoding is
#[serde(untagged)]
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
pub enum RawMessageMetricValue {
Boolean(bool),

Float(f64),

Long(i128),

Integer(i64),

Metric(Vec<RawMessageMetricNode>),

String(String),

}
The offending JSON is below, it cleanly deserializes with serde_json.
{
"name": "max_unsafe_auto_id_timestamp",
"value": -9223372036854776000
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/simd-lite/simdjson-rs/pull/88?email_source=notifications&email_token=AAA5CNPR6M2JZ6GL44MWIKTQ5TOHHA5CNFSM4JVOLEH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI2M45Y#issuecomment-573886071, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAA5CNJTFOPL7VXWG3MVTKDQ5TOHHANCNFSM4JVOLEHQ.

Turns out this is a bug in serde, it doesn't support untagged fields with 128 bit values :/
https://github.com/serde-rs/serde/blob/ff70409215b62fa8cd138ce47534c432352c85bb/serde/src/private/de.rs#L230

@Licenser what should the next step for this PR be?

I opened a ticket with serde: https://github.com/serde-rs/serde/issues/1717
I'm honestly not 100% sure, merging it would already allow 128 bit values outside of enums and should work there once it is fixed in serde.
Since no code changes will be required I think we could still merge it, there is little reason to hold it back just because of a bug in serde.
other then that clippy is throwing spanners in the works :P only 177 new errors! yay


make sure dummy brentq can be called with args and kwargs

pvlib python pull request guidelines
Thank you for your contribution to pvlib python! You may delete all of these instructions except for the list below.
You may submit a pull request with your code at any stage of completion.
The following items must be addressed before the code can be merged. Please don't hesitate to ask for help if you're unsure of how to accomplish any of the items below:

[x] Closes issue #xxxx
[x] I am familiar with the contributing guidelines.
[x] Fully tested. Added and/or modified tests to ensure correct behavior for all reasonable inputs. Tests (usually) must pass on the TravisCI and Appveyor testing services.
[x] Updates entries to docs/sphinx/source/api.rst for API changes.
[x] Adds description and name entries in the appropriate docs/sphinx/source/whatsnew file for all changes.
[x] Code quality and style is sufficient. Passes LGTM and SticklerCI checks.
[x] New code is fully documented. Includes sphinx/numpydoc compliant docstrings and comments in the code where necessary.
[x] Pull request is nearly complete and ready for detailed review.

Brief description of the problem and proposed solution (if not already fully described in the issue linked to above):

any reason not to pull this patch in?


Duplicate Object Key in Settings - Is there a Fix?

Before closing. I've checked all threads and closed issues posted. I've not seen any indication to what the problem is, if this is a duplicate installation problem, an extension problem, a VS Code problem, or any mention of a solution.
So if I'm wanting some advice on what I should do, is there any? I can't post on any of the other threads so there's no gauge of how many might be experiencing this still or what could be done about it. Any chance we can get that here or at one of the other threads?
Thank you. Love VS Code.

Unclear to me what the issue is. Where is the error shown? Can you share you settings file?

You cannot specify a setting more than once in a settings file.
If you do, you will see an error:

I meant to add a screenshot so I apologize. Just so I'm getting this across correctly, the duplicate keys you're seeing are not under my user or workspace settings. They are within VS Code settings, the settings that I cannot actually edit myself on the left side of user and workspace settings.

Oh, I see.

Are you opening this file using the command Open Raw Default Settings? I do not see warnings but following error

@aeschli What does this error mean?

It's when you put content after a root object or array.

Hello, no I am not opening anything with a command. I'm just using VS Code as normal. Adding extensions as needed. Only when I added the tslint did I start getting these duplicate key problems.

Is there anything you guys/girls would like me to try? Removing extensions or uninstalling tslint from command line? Seeing if that does anything? Idk I'm just throwing out suggestions.

@DanJ210 How did you open the settings file you have shown in the screenshot?

@sandy081 The only way I know how. File -> Preferences -> Settings.

Are you able to reproduce it ?

Well it's still an issue. Is that what you mean?

All I have to do is open up settings no matter what project I'm working on and I can pull up all of the duplicates.

Same thing here: tslint caused troubles with defining duplicate keys. This happened, because tslint and tslint-for-vue were installed at the same time. tslint-for-vue description made me believe that it extends tslint, but instead it seems that only one of them should be activated.

@rowild Thanks for the hint. I can reproduce it now.

So do I need to do anything to help or do I sit tight for some future releases? No problem either way just wondering what I can do.

Thanks @rowild and @sandy081 for the help, btw.

@dan-silver Well, you might try to find out, whether you have extensions installed that overwrite each other. Uninstall all and any of your extensions, then - step-by-step - install them again. Either the problem will magically disappear or you'll get to the point, where you find the extension that is responsible for the mess.
That is a bit time-consuming, but probably better then waiting... :-)
In case you find anything, please don't forget to post back! Thanks in advance!
BTW: Depending on how many extensions you have, it could probably be a better idea to go to the .vscode/extension folder in your home directory and pull the exts out manually all at once. Then put them back again, one-by-one.... (that's how I would do it...)
Good luck!

@rowild, that was the case for me.
I was using the PlatformIO extension to create an arduino project and I also had Microsoft's Arduino extension enabled at the same time.
After I disabled Microsoft's Arduino and reloaded, no more duplicate settings.
Dont' know why extensions would duplicate global/default settings.

@rowild Would the VS Code developers be where I could suggest or request a feature to deal with extensions that are trying to add duplicate entries?

@DanJ210 I would assume that this is the most proper place anyway. Maybe starting a new thread would serve the awareness better... VS Code should definitely handle that situation better...

@sandy081 Is this something that the VS Code team is aware of and are wanting to address at some point?

Extensions should not duplicate settings from other extensions otherwise both extensions listen to the same setting change and might react differently.
Fix from our side is not show duplicates in our Default Settings Editor.
I would suggest to file an issue against TSLint Vue extension to not to contribute duplicate settings.


Arc and Weak references may stay alive for unexpected amounts of time

Mainly in Arc and Arc, references can last longer than expected:
When Weak::upgrade is used, it creates a strong reference, meaning that if another Weak tries to upgrade, it will succeed regardless of whether there are other references created with Arc::clone.
This causes a problem related to handlers, mainly read_handlers, which use a cyclic call and take an indefinite amount of time because of sockets.
Suggestion: create a state in ServerInternal and ClientInternal, which changes if it is being disconnected, and also create a function as a helper to upgrade a Weak<>, which only upgrades if the server state is connected.

Fixed in #8.


Amplify Predictions identify not returning form(keyValue) and table data

Describe the bug
We are using amplify for our app development and one of the prediction API call is not working properly. It is working okay for Android but not for iOS.
https://docs.amplify.aws/lib/predictions/identify-text/q/platform/ios#identify-text-in-a-document
The API is not returning forms and table data in result?
We tried detectText(.form), detectText(.table), detectText(.all). Results are same for all of them.
To Reproduce
Steps to reproduce the behavior:
func detectText(_ image: URL, result:@escaping FlutterResult) {
        _ = Amplify.Predictions.identify(type: .detectText(.all), image: image, options: PredictionsIdentifyRequest.Options(), listener: { (event) in
               switch event {
               case .success(let resultIdentity):
                   let data = resultIdentity as! IdentifyDocumentTextResult
                   print(data.fullText)
                   result(data.fullText)
               case .failure(let error):
                   print(error)
                   result(error)
               }
           })
    }

data variable contains

Expected behavior
tables and keyValues should contain data as it work in Android.
Environment(please complete the following information):

Amplify Framework Version: 1.0.2
Dependency Manager: Cocoapods
Swift Version : 5.0

Device Information (please complete the following information):

Device: iPhone8 plus, Simulator
iOS Version: iOS 13
Specific to simulators:

Additional context
No any other context about the problem.

Hi @vdvpie22,
Thanks for reaching out.  It sounds like you are reporting a difference in the iOS version vs what Android offers.  Can you please explain what you are seeing on Android, and how that is different on iOS?  Specifically, how does the use case work for you on Android?  How does it not work for you on iOS?
Thank you

Response with same document:
in Android (as expected):
{     "fullText": "INVOICE......",     "keyValues": [         {             "box": {                 "bottom": 0.33146378,                 "left": 0.7483453,                 "right": 0.8464649,                 "top": 0.32305497             },             "polygon": {                 "points": [                     {                         "x": 0.7483453,                         "y": 0.32305497                     },                     {                         "x": 0.8464648,                         "y": 0.32305497                     },                     {                         "x": 0.8464648,                         "y": 0.33146378                     },                     {                         "x": 0.7483453,                         "y": 0.33146378                     }                 ]             },             "confidence": 85.76523,             "id": "64d01edb-0dce-4722-8d09-b2ed749dd0c1",             "value": {                 "first": "DESPATCH NOTE",                 "second": "S538796"             }         },        ......     ],     "lines": [         {             "page": 0,             "box": {                 "bottom": 0.087794684,                 "left": 0.86288506,                 "right": 0.9639127,                 "top": 0.072275944             },             "polygon": {                 "points": [                     {                         "x": 0.86288506,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.087794684                     },                     {                         "x": 0.86288506,                         "y": 0.087794684                     }                 ]             },             "confidence": 99.8893,             "id": "2a7531db-9649-408e-88cb-41b7f61d64eb",             "value": "INVOICE"         },        ......     ],     "rawLineText": [         "INVOICE",       .....     ],     "selections": [],     "tables": [         {             "columnSize": 7,             "rowSize": 11,             "box": {                 "bottom": 0.712523,                 "left": 0.0673983,                 "right": 0.9643701,                 "top": 0.36833143             },             "polygon": {                 "points": [                     {                         "x": 0.0673983,                         "y": 0.36833143                     },                     {                         "x": 0.9643701,                         "y": 0.36833143                     },                     {                         "x": 0.9643701,                         "y": 0.7125229                     },                     {                         "x": 0.0673983,                         "y": 0.7125229                     }                 ]             },             "confidence": 99.95759,             "id": "2f80525c-3328-48f5-892e-a9cc2c956dac",             "value": [                 {                     "column": 0,                     "row": 0,                     "selected": false,                     "box": {                         "bottom": 0.38292885,                         "left": 0.0673983,                         "right": 0.14748508,                         "top": 0.36833143                     },                     "polygon": {                         "points": [                             {                                 "x": 0.0673983,                                 "y": 0.36833143                             },                             {                                 "x": 0.14748506,                                 "y": 0.36833143                             },                             {                                 "x": 0.14748506,                                 "y": 0.38292885                             },                             {                                 "x": 0.0673983,                                 "y": 0.38292885                             }                         ]                     },                     "confidence": 99.95759,                     "id": "4ff87dd2-0187-4232-a929-3fd86bc00969",                     "value": "PRODUCT CODE"                 },                 ....             ]         },         {             "columnSize": 7,             "rowSize": 2,             "box": {                 "bottom": 0.36267745,                 "left": 0.045876656,                 "right": 0.94214964,                 "top": 0.31708455             },             "polygon": {                 "points": [                     {                         "x": 0.045876656,                         "y": 0.31708455                     },                     {                         "x": 0.94214964,                         "y": 0.31708455                     },                     {                         "x": 0.94214964,                         "y": 0.36267748                     },                     {                         "x": 0.045876656,                         "y": 0.36267748                     }                 ]             },             "confidence": 99.65584,             "id": "3de1a322-46c5-4b88-9fdf-005b3d73e4eb",             "value": [                 {                     "column": 0,                     "row": 0,                     "selected": false,                     "box": {                         "bottom": 0.33703145,                         "left": 0.045876656,                         "right": 0.1599114,                         "top": 0.31708455                     },                     "polygon": {                         "points": [                             {                                 "x": 0.045876656,                                 "y": 0.31708455                             },                             {                                 "x": 0.1599114,                                 "y": 0.31708455                             },                             {                                 "x": 0.1599114,                                 "y": 0.33703145                             },                             {                                 "x": 0.045876656,                                 "y": 0.33703145                             }                         ]                     },                     "confidence": 99.65584,                     "id": "7566fd5c-0d2c-4cb3-b82e-d18ae102082c",                     "value": "INVOICE No"                 },                ....             ]         }     ],     "words": [         {             "page": 0,             "box": {                 "bottom": 0.087794684,                 "left": 0.86288506,                 "right": 0.9639127,                 "top": 0.072275944             },             "polygon": {                 "points": [                     {                         "x": 0.86288506,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.087794684                     },                     {                         "x": 0.86288506,                         "y": 0.087794684                     }                 ]             },             "confidence": 99.8893,             "id": "fcdda7c6-7f69-4d37-9cce-0ad348aa3075",             "value": "INVOICE"         },        .....     ] }
In IOS:
{     "fullText": "INVOICE......",     "keyValues": [],     "lines": [         {             "page": 0,             "box": {                 "bottom": 0.087794684,                 "left": 0.86288506,                 "right": 0.9639127,                 "top": 0.072275944             },             "polygon": {                 "points": [                     {                         "x": 0.86288506,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.087794684                     },                     {                         "x": 0.86288506,                         "y": 0.087794684                     }                 ]             },             "confidence": 99.8893,             "id": "2a7531db-9649-408e-88cb-41b7f61d64eb",             "value": "INVOICE"         },        ......     ],     "rawLineText": [         "INVOICE",       .....     ],     "selections": [],     "tables": [],     "words": [         {             "page": 0,             "box": {                 "bottom": 0.087794684,                 "left": 0.86288506,                 "right": 0.9639127,                 "top": 0.072275944             },             "polygon": {                 "points": [                     {                         "x": 0.86288506,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.072275944                     },                     {                         "x": 0.9639127,                         "y": 0.087794684                     },                     {                         "x": 0.86288506,                         "y": 0.087794684                     }                 ]             },             "confidence": 99.8893,             "id": "fcdda7c6-7f69-4d37-9cce-0ad348aa3075",             "value": "INVOICE"         },        .....     ] }
That is, the IOS version does not return keyValue and tables as indicated in the first post

@vdvpie22
Thank you so much for the detailed report!  Having real data made it really clear for me to dive into this.
This looks to be a bug in our code.
Specifically, our code which is parsing the response from Textract:
https://github.com/aws-amplify/amplify-ios/blob/eb5b7ff98ae9ac090dc8c71e374b8f3bcb0ee472/AmplifyPlugins/Predictions/AWSPredictionsPlugin/Support/Utils/IdentifyTextResultTransformers.swift#L69
If an element is of type .table or .keyValueSet, it may not have a value for block.text, and hence if we are parsing a .table or .keyValueSet, then we'll continue on line 70, thereby skipping that block! :(
Just to be clear about repro steps:

Setup  amplify predictions w/ identify enabled
Use the following code ( or something similar)

    override func viewDidLoad() {
        super.viewDidLoad()
        let url = URL(string: "https://raw.githubusercontent.com/aws-samples/amazon-textract-code-samples/master/src-csharp/test-files/employmentapp.png")
        if let imageURL = url {
            detectText(imageURL)
        }

    }

    func detectText(_ image: URL) {
        _ = Amplify.Predictions.identify(type: .detectText(.all), image: image) { event in
            switch event {
            case let .success(result):
                let data = result as! IdentifyDocumentTextResult
                print(data.keyValues) // Should have values
                print(data.tables) //should also have values
            case let .failure(error):
                print(error)
            }
        }
    }

Expected behavior
The above code should print out values for data.keyValues and data.tables
For reference, here is how the android code is processing the blocks:
https://github.com/aws-amplify/amplify-android/blob/71aa76d145812170d2f9d8e3110ef907427e08ef/aws-predictions/src/main/java/com/amplifyframework/predictions/aws/service/AWSTextractService.java#L132

Hello guys.
I think I am hitting the same issue. It this fix planned for next release? It still say 1.0.5 as a milestone but it is not there.
Thank you.

Hi, @pavelrojkovtrepp. Sorry that this bug takes longer than I expected. I need more time solving this issue. And since I am already working on it. It shouldn't take long to release the fix.

Hi, any updates?

Reference to the PR which is in progress. https://github.com/aws-amplify/amplify-ios/pull/660

@vdvpie22 sorry for the delay, this fix has been released as part of Amplify 1.1.0


Changing the fill color of a solid

I've got a solid within my presentation and a fill effect applied to it.
I'd like to edit the color of the fill using nexrender, any idea on how I would go about doing this.

For that, could you provide a screenshot of your layer containing the solid in your template project opened after effects interface?
And please make it "unfolded", example:

Here's the layer in question

Following the example: https://github.com/inlife/nexrender#data-items
Try doing something like this:
{
    "assets": [
        {
            "type": "data",
            "layerName": "scoreboard",
            "property": "Color",
            "value": [1.0, 0.5, 0, 0]
        }
    ]
}

(the Color parameter requires a 4 dimensional array [r,g,b,a] of values between 0-1.)
Source: https://www.aenhancers.com/viewtopic.php?t=65
Also, you can set it to change dynamically and use expression instead of value. Using that approach you will be able to provide an expression that will modify the value of the color on every frame accordingly to your needs.

Sadly I couldn't get this method to work, it still just renders at it's original colour the post refers to expression control > colour control.
I'll investigate further but I might need to write a expression script to change the colour at the project level

If you succeed, please do share it there, I'm very interested in the resolution.

Will do, right now I've created a workaround here I have an image which is being generated from https://dummyimage.com/ and setting the values in the url

do you have a list of supported properties? I've got an expression written that works in the project I just need to find the correct property to apply it to within the json.

Unfortunately, I'm not familiar with ExtendScirpting well enough to know how those property lists can be formed. I guess maybe there is some information on the net about that. Or people that actually using scripting a lot might know.

I'm trying to get to grips with the property field within nexrender, how is this mapping to extendscript and how you can define
For example the color property is a sub property of the colour contol property, which is a sub property of the effect property.
I'm not sure if this is a feature request to be able to change the values of properties nested in effects.
I'm looking at using a shape instead of a solid but right now, still no joy as again the as the fill color is nested.

Well, to see how is it mapped the easiest way is probably to check out the script file that is being generated in the temp work folder for the project. --skip-cleanup flag can be added so project won't be cleaned up right away.
basically what you'll see there is something like that:
var property = layer.property(NAME);
property.setValue(VALUE);
In the case of sub-properties, I think it is possible to create a solution to make them work. I didn't actually know there are such things.

I've been looking at this and now have it working in my project but not via nexrender.
I've got my fill color of the shape being populated from a hex value being entered into a text field, unfortunately I'm trying to update the source text from the json and it's not working.
I've attached a screen shot for you're thoughts on why the source text might not be updating

well damn, that is quite hacky indeed )
even tho it works very nicely, and props to you for finding that (i don't even imagine how did you discover that)
I think this way might be a bit too complicated for users unfamiliar with AE scripting or js itself.
We should definitely keep this one as a backup option if we fail to find a less verbose solution.
also, funny quote at the end, took me some time to figure out what that meant :D

agreed it's hacky, and it came to me in the shower over the weekend. Then it was just working through the idiosyncrasies of after effects until it works.
Yes it was a crash course in AE scripting for me too, it's clearly very powerful and equally clunky

lets keep this issue open, till we can possibly figure some other way to do that
or as i mentioned before, stick to the way you suggested

The problem seems to be that nexrender can not (yet) address subproperties, right?
A good way to add this functionality could be to allow key paths in the property  field. For this example it could look like below. Note that this might not be fully correct, since I am not very deep into AE scripting either, but I hope you get the idea. :)
{
    "assets": [
        {
            "type": "data",
            "layerName": "scoreboard",
            "property": "Effect.'Color Control'.Color",
            "value": [1.0, 0.5, 0, 0]
        }
    ]
}

Seems like yes, you are right @brassel.
It is actually a good idea, I guess that would be the best way to solve this.
I think it's better to get rid of ' in the title, that way would be less confusing for users i think, especially considering the fact that we don't really care if those names have spaces in them, we will do a split('.')
{
    "assets": [
        {
            "type": "data",
            "layerName": "scoreboard",
            "property": "Effect.Color Control.Color",
            "value": [1.0, 0.5, 0, 0]
        }
    ]
}

what do you think @brassel ?

Hi Vladyslav,
yes, I think using key paths would greatly increase the things you can do with nexrender!
And also, the ' will not be strictly necessary here and in most cases.
The decision if you want quoting and backslash escaping is about some assumptions you have to consider:

are there properties named by the user (you can't keep them from using the dot . in their own property names then)
did AE make the (bad) decision to use properties named "a.b"
should the approach work in most cases or in all cases

Great to see this being picked up.
For what it's worth I would prefer the property to match the style of extendscript as much as possible.

Hey Guys, is this still being worked on?

Hey Guys, is this still being worked on?
Not actively, unfortunately

Actually, @brassel, what if we use -> as a separator (c++ style), I think its highly unlikely that users might be using that as part of the name.

Can I help? I don't mind taking a look if you guys are all busy, would be good if you could just point me in the right direction to save the time digging through all the codebase

Sure
So I assume you've read the above comments about how property selection works atm, and how it might be improved.
This is the line of code where it is happening: https://github.com/inlife/nexrender/blob/master/packages/nexrender-core/src/tasks/script.js#L32
(It is being dynamically generated into a script that will be placed into jsx template here: https://github.com/inlife/nexrender/blob/master/packages/nexrender-core/src/assets/nexrender.jsx#L87)
The idea that instead of just doing layer.property("NAME"), we could try doing a sub-property selection via cycle (most likely), unless there is some existing jsx scripting api for that.
So it would result in a sequence of something like
var property = layer
    .property('PART1')
    .property('PART2')
    .property('PART3')
    .property('PART4')

Hope that helps more with the direction of what is happening

Let me dig into it, will feedback if have any questions :)

Ok so taken a different approach here, used expressions and an external js file to control the color. So in the AE template you can add an expression for color, not yet tested for text color but I think the same method will work.
// Model.js
var proposition = {
    color: [0, 0, 0, 1], // [r, g, b, a]
}

// Expression
// Absolute path to our JavaScript model file
var pathToModel = '/path/to/Model.js';
// Evaluate our model
$.evalFile(pathToModel)
// Now the proposition is accessible, return the name property
proposition.color

More info on this here: https://www.themarketingtechnologist.co/creating-dynamic-videos-using-javascript-and-after-effects-the-basics/

First time nexrender user and stumbled into this limitation, I tried a few things before reading the entire thread including the dot syntax and I ended up with just attaching a .jsx script to the main json.
template.json (relevant part)
{
    "assets": [{
            "src": "file:///.../template.jsx",
            "type": "script"
        }]
}

template.jsx
nexrender.selectLayersByName(null, 'controls', function(layer) {
    layer
        .property('Effects')
        .property('BorderColor')
        .property('Color')
        .setValue([1, 0, 0])
})

The issue I have with this approach is I have to overwrite the file every time I want to change the color, I mean it is automated, but it feels wrong.
I believe the dot syntax including optional quotes (my vote for " instead of ' (or both)) is the way to go.
Also a good addition could be a way to add scripts in line to the json file as well, as you can use sed or any other scripting tools to pass the entire json in one go without touching any files. I have 0 knowledge on JSX, but I don't think nesting is that bad, even if there was any other API methods.
Anyway, the solution above should work ok for other people who arrive here with the same issue if the dot syntax is not implemented yet, and depending on my priorities I might help implementing it as well.

Hello everybody. I'm facing same issue at now :)
I need to change the "Skin_Color" property, but i didn't find any solution for it.

@emiliobool @mujdatcicek im going to push a feature that allows usage of dot-styled syntax for property definitions soon, hope that will help
also, regarding this:

Also a good addition could be a way to add scripts in line to the json file as well, as you can use sed or any other scripting tools to pass the entire json in one go without touching any files. I have 0 knowledge on JSX, but I don't think nesting is that bad, even if there was any other API methods.

Did you know instead of the file:// protocol you can use data:// protocol to directly store the values inside the json job. Details: https://github.com/inlife/nexrender#protocols

I've pushed a new build, v1.5.0-alpha.0
could you guys please try it out, to see if it works as you expect it to
You can use either dot (.), or arrow (->) for separation of sub-properties.

@inlife thanks that's awesome! it actually crossed my mind earlier today that I saw a data protocol but I wasn't sure I wanted to base64 encode, good thing we can use plain text too. But I guess even base64 is fine if I use the node.js api from a script.

@inlife thank you very much, now its working.
But there is a bug in there
property variable should be change with iterator
scripts.js
iterator.setValue($value);

oh ye, it is, gonna push a fix

pushed w/ v1.5.0-alpha.2

@inlife I tried this today and it seems to work, I'm not sure about the alpha.2 not sure if the .1 version on npm is the one you meant but I didn't see any tag on github or npm for .2, anyway the latest version on npm worked fine for my property "Effects.BorderColor.Color"
I think with this change this issue is solved, and it will probably need a doc entry to specify how to change deep properties. Also using a control layer to specify all their "input" properties is probably the best approach/practice here, so recommending that would probably help some people too.
Thank you so much for the hard work!

Very good!
Yes, I will push an update with changes to doc, and promote it to full release.

Also using a control layer to specify all their "input" properties is probably the best approach/practice here, so recommending that would probably help some people too.

Not sure what you mean by "control layer", could you explain more?

@inlife I mean just like in mujdatcicek's screenshot where he has a null object with custom controls. That way you swap the controls' colors/values from nexrender but you reference the control values everywhere else in your composition. That means easily exposing all modifiable values in a single place. I mean my suggestion is mostly showing and promoting that specific use case where instead of trying to modify lets say a style border color directly they can reference a control value using "Effects.ControlName.property" <-- I believe this string/property path name is what most people would be looking for

@emiliobool oh, I see. I feel like I don't have enough experience in this particular area.
Could you please check/validate new changes to the readme, if I provided the right information:
https://github.com/inlife/nexrender/commit/a2d7acc3930b46a9be267ee8f7f13149d6668c6a?diff=unified&short_path=04c6e90#diff-04c6e90faac2675aa89e2176d2eec7d8
And also, maybe if I missed something, especially in connection to your last message. If you notice something - I would be super grateful for either a pull request or a direct comment right here with instructions on what to change.
Cheers!

@inlife Yeah I think what you included should be self explanatory but:
 {
            "type": "data",
            "layerName": "background",
            "property": "Effect.BorderColor.Border",
            "value": [1, 0, 0]
        },

did you mean Effect.BorderColor.Color ? or is the Border property a real property? if it is a typo I would suggest changing it to "Effects.Skin_Color.Color" so it correlates with the image/text that comes before it. Other than that I think it is enough for people to understand it.

Oh yes, seems like I made a typo there. Great, thank you!

closing the issue since the feature is released

this feature is so great... thanks!


Replace text with existing translations that match

Is your feature related to a specific framework or general for this extension
General
Is your feature request related to a problem? Please describe.
I have small snippets of text that's identical in many places.  Eg: "Submit"
Describe the solution you'd like
Highlight a string, and have an option to check if there's already a matching translation.  If so, replace the highlighted string with the appropriate translation.  If not, go through the process of extracting a new translation.
Perhaps recommend using an existing translation in the quick fix lightbulb?
Additional context

Cool, I like this idea! However, I am kinda busy recently. Will do it later.
Or if anyone interested in trying to implement it, PR is greatly welcome! Thanks


Non-alpine images?

Are there any plans to publish a non-Alpine based image? Alpine seems to have some issues with image scanning and mapping CVEs. And now that Ubuntu is minimal by default, there seems to be fewer reasons to use it. It would be nice to provide official support for DIND/DOOD on Ubuntu.

Are there any plans to publish a non-Alpine based image?

Not especially -- IMO, CVE mapping isn't a real solid justification for the added maintenance/churn.  Is there a usability concern with Alpine?  In my experience, using Docker-in-Docker is pretty self-contained, and it's a pretty rare use case where something non-Alpine is necessary (which makes sense, given that containers not relying on the specifics of the "host" / dockerd environment is kind of the entire point).

Closing given that this isn't something we're currently considering.  If there's a solid justification to be made for the added maintenance burden of supporting addition variants, we'll reopen and reconsider. :+1:

A dind image for Ubuntu would help the Docker-based, immutable dev environment movement.
I will probably be working on something like this, would be happy to do my work as a change to this repo.

I wrote a dind version inspired by this image using ubuntu as the base for my own use in jenkins-agent-dind. I'm using it for more than 1 year already and it's pretty solid, but probably overkill if not to be used for its sole purpose.
An official dind based on Ubuntu would greatly simplify the maintenance of my image, as a big part of its Dockerfile is due to the tricks to make it work.

I wrote a dind version inspired by this image using ubuntu as the base for my own use in jenkins-agent-dind. I'm using it for more than 1 year already and it's pretty solid, but probably overkill if not to be used for its sole purpose.
An official dind based on Ubuntu would greatly simplify the maintenance of my image, as a big part of its Dockerfile is due to the tricks to make it work.


Having router's Navigating causes app re render on each navigation

https://github.com/dotnet/aspnetcore/issues/42902


Missing social media links

Social media links are not there in current website also hover effect is missing @khushi-joshi-05 mam Please assign this issue to me I will fix it . Thankyou

i am working under gssoc24

Hover and links are missing.assign me this so that i can work on and fix it @khushi-joshi-05 also please add gssoc label


Reduce burstiness of the value source operator

Inserts a regular break in between packet transmission.

Other than the few clarification questions I listed above, the code looks good to me.

Thanks, LGTM.


New Network Request: Torus Testnet

Network information

Name: Torus Testnet
ChainId: 8194
RPC http/s address: https://rpc.testnet.toruschain.com
Link to https://chainlist.org/: https://chainlist.org/chain/8194
(Optional) Blockexplorer: https://testnet.torusscan.com/
[x] I have run RPC='https://rpc.testnet.toruschain.com' yarn estimate
[x] I have sent requiredFunds to 0xE1CB04A0fA36DdD16a06ea828007E35e1a3cBC37

0xbfbdee2887d33f57bff8fb672d9db52a01559711661b65e29f47aa8128b3615f


Jump search

Description 📜
Jump Search algorithm
Fixes # 4617

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[x] C/CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] Java#Script
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

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 GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Please review it

Please mention an index line in readme along with relative link as well, and the rest is good to go

Good @geetika005

Amazing work @geetika005 !!
@Suvraneel @Saviour1001 pls review this PR and merge it :)
Thank you !!

@geetika005  Technically correct in every aspect, but needs more formatting... The expressions are not clearly legible...
This needs to get the reader interested


Enhance Image Validation and Handling

We need to improve our image validation and handling process to ensure that only valid image URLs are accepted and processed correctly. This involves updating the User model validation and the OpenGraphImageGenerator class. Additionally, we need to add comprehensive tests to cover these changes.
Current issues:
The application doesn't handle non-image URLs gracefully when they're provided in image URL fields.
The OpenGraphImageGenerator may encounter errors when processing invalid image URLs.
Tasks:
Update User Model Validation:
Implement a custom validator for the avatar_url field to ensure it points to a valid image.
Add error handling to provide meaningful feedback when an invalid URL is provided.
Enhance OpenGraphImageGenerator:
Improve the valid_image_url? method to perform more robust checks.
Implement better error handling and fallback mechanisms when processing images.
Implement Comprehensive Testing:
Write unit tests for the User model's image URL validation.
Create integration tests for the OpenGraphImageGenerator to cover various scenarios (valid images, invalid URLs, non-image URLs, etc.).
Implement system tests to ensure the entire image processing flow works as expected.
Refactor Existing Code:
Review and update any other parts of the codebase that handle image URLs to ensure consistent validation and error handling.
Update Error Messages and User Feedback:
Ensure clear and helpful error messages are provided to users when they input invalid image URLs.
Documentation:
Update relevant documentation to reflect the new image validation process.
Add comments to the code explaining the validation logic and error handling.
Detailed Tasks:
User Model Updates:
Implement a validate_image_url method in the User model.
Use ActiveRecord callbacks to validate the avatar_url before save.
OpenGraphImageGenerator Updates:
Enhance the valid_image_url? method to check content type and image dimensions.
Implement more robust error handling in the download_image method.
Testing:
Write RSpec tests for the User model's image URL validation.
Create tests for the OpenGraphImageGenerator covering various scenarios.
Implement system tests using Capybara to test the entire image upload and processing flow.
Error Handling:
Implement custom error classes for different types of image validation failures.
Update controllers to handle these custom errors and provide appropriate user feedback.
This enhancement will improve the reliability of our image handling process and provide a better user experience when dealing with avatar and other image uploads.

Hello @loftwah ,
I'm interested in working on this issue. This will be my first contribution to this repo.
Would it be possible for me to take on this task?
Best Regards
Aryan Pal

Sure thing, please reach out if you want/need any info or would like to pair up.

@Aaryanpal how are you travelling with this? I might look at it over the weekend.

https://github.com/loftwah/linkarooie/pull/210 I have a PR. Do you think we need any tests changed?

apologize for delay due to health reasons
Apologies for the delayed response, @loftwah. I was out of town due to health issues. I'll review and follow up shortly.

No worries hope all is well!


StageScaleModes

I'm updating an old NME project to OpenFL. It looks like stage scaling modes other than NO_SCALE cause some issues or at least behave differently.
The old behaviour was : specify a fixed resolution (eg 768 x 1024), the app will be automatically scaled (to retina resolutions for example), when using StageScaleMode.SHOW_ALL.
Now when I used any other mode than NO_SCALE, in a fresh project, all I got is a flashing blank screen.
Haxelib output:
nme: [4.0.2]
openfl: 1.0.4 1.0.5 1.0.6 [1.1.0]
openfl-compatibility: [1.0.1]
openfl-html5: 1.0.3 1.0.4 [1.0.5]
openfl-native: 1.0.4 1.0.6 1.0.7 1.0.8 [1.1.3]
openfl-nme-compatibility: [1.0.2]
openfl-samples: 1.0.0 1.0.0-rc.3 [1.1.0]
openfl-tools: [1.0.10] 1.0.8 1.0.9

The current behavior is to use the full screen size if your window size (default for mobile) is 0 width and 0 height. Otherwise, it attempts to letterbox and scale your application automatically


fix: dense layer filtering now works properly

Codecov Report

Merging #31 (d79c882) into main (29d9af4) will decrease coverage by 0.45%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   89.48%   89.03%   -0.46%
==========================================
  Files          20       20
  Lines        1370     1377       +7
==========================================
  Hits         1226     1226
- Misses        144      151       +7

Impacted Files
Coverage Δ

rfa_toolbox/utils/graph_utils.py
77.77% <100.00%> (+4.09%)
:arrow_up:

rfa_toolbox/domain.py
72.72% <0.00%> (-13.64%)
:arrow_down:

rfa_toolbox/encodings/pytorch/domain.py
62.50% <0.00%> (-12.50%)
:arrow_down:

...olbox/encodings/tensorflow_keras/layer_handlers.py
90.90% <0.00%> (-4.55%)
:arrow_down:

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 29d9af4...d79c882. Read the comment docs.


NesBox Companion

I have installed Adobe Air, but appear to have issues with Nesbox Companion, just a bunch of bat files with other files, and when running "run.bat", "Packageapp.bat" they say:
`ERROR: incorrect path to Flex SDK in 'bat\SetupSDK.bat'
Looking for: C:\work\project\sdk\flex4.11\bin
Press any key to continue . . .`
SetupSDK.bat shows:
`:user_configuration
:: Path to Flex SDK
set FLEX_SDK=C:\work\project\sdk\flex4.11
:validation
if not exist "%FLEX_SDK%\bin" goto flexsdk
goto succeed
:flexsdk
echo.
echo ERROR: incorrect path to Flex SDK in 'bat\SetupSDK.bat'
echo.
echo Looking for: %FLEX_SDK%\bin
echo.
if %PAUSE_ERRORS%==1 pause
exit
:succeed
set PATH=%PATH%;%FLEX_SDK%\bin`
Is there an actual .exe file somewhere for installation?  As there is no nesbox.com/labs anymore that use to have a download.

Hi.
I have exactly the same problem. Could you solve it? Thanks.

I received a reply from elsewhere that basically stated not to use it.... Use JoyToKey.  It's shareware, so has full functionality.   That is what I ended up doing, and it works great.


reviewdog POST api.github.com 422 Validation Failed

tried on Travis always got that https://travis-ci.org/thunderdb/ThunderDB/jobs/371431240 (the last line)
and I also tried on my Macbook with
export TRAVIS=true
export TRAVIS_PULL_REQUEST=1
export TRAVIS_PULL_REQUEST_BRANCH=feature/routing
export TRAVIS_COMMIT=758d84fee7292ef61bcb3d63572ee300bc7cf0cf
export TRAVIS_PULL_REQUEST_SHA=3216c2fd342af8e264a0aa8658dcf9cdb6a5a710
export TRAVIS_REPO_SLUG=thunderdb/ThunderDB
export TRAVIS_SECURE_ENV_VARS=true
export REVIEWDOG_GITHUB_API_TOKEN=xxxxxx

still:
reviewdog: POST https://api.github.com/repos/thunderdb/ThunderDB/pulls/1/reviews: 422 Validation Failed [{Resource: Field: Code: Message:}]

after 30min with nothing change, it works. maybe a issue of github.


Pathway Summary: add title and link to pathway map

On the pathway summary page:

add bread crumb / page title, i..e "Pathway Summary"
add a message saying, "Out of 20 genes selected, 6 genes found in 8 pathways"
when a single pathway is selected from the table, provide link to pathway map

fixed and will be available soon

Looks good!


upload file type

on upload file the type for .xlsx is "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" and for .xsl is "application/vnd.ms-excel".
your plugin does not allow anything but "xslx" and "slx". its relevant for writing file, but how does it relevant for reading files?
example:
http://meteorpad.com/pad/a5YfgAsXHiLWAkRaZ/Copy of Leaderboard

@amitrahav this package is just a wrap of js-xlsx, if you check their documentation. Some XLSX use jszip library to be able to read/parse them.

@amitrahav MeteorPad seems to be offline. What you are describing seems like a MIME type which is different from the file extension itself and is more descriptive. When you create the excel object can't you just give it the matching file extension?


feat: Add Sitemap open tag filter event

1. Why is this change necessary?
Currently it is not possible to modify the sitemap open tag. The only thing (and for which I need this change) is to add some XML namespaces, so I added some explicit functionality to ease working with the namespaces, see for example: https://www.google.com/schemas/sitemap-video/1.1/sitemap-video.xsd
2. What does this change do, exactly?
Add an event to modify the XML open tag.
3. Describe each step to reproduce the issue or behaviour.
-
4. Please link to the relevant issues (if any).
-
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

I think that event is quite specific for your use case and the root cause of the issue is that the printHeader() method is called in the constructor,
if we move the first printHeader() call to the start of the write() method you should be able to overwrite the SitemapHandle class and overwrite the write method there and change the header line there.
Does that solution work for you?

Not sure if I understand your change correctly, but would that still mean that I need to copy the full write implementation of SitemapHandle, just to change the header?

Yep that would be the case.

Which would than also mean, at least how the implementation currently is, that I need to copy also the rest of the SitemapHandle implementation, since everything is private and directly written.
This is a rather bad solution I think, since only one decoration (or change) will work and it is error prone since I need to keep detailed track of any changes to that file.
That is exactly why I did this event. The only other thing that came to my mind is to completely refactor the way the sitemap is written.

As discussed in the community slack, i'm fine with adding the event, because there are no other feasible solutions, besides rewriting the whole sitemap generation.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-19239
Please use this issue to track the state of your pull request.

Thanks for your Contribution! :blue_heart:


fix(tests) : Added links,label and datatable tests

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-2 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-3 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-4 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 Could any of these tests qualify (stable) to be included into smoketests?

@rgarg1 now we will be running all the test in each PR.. Yes i ran all the test several times...It should be stable

Thats great!

I'll try running the tests tomorrow before approving. I hope this is fine with you.

ok

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-5 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

Can one of the admins verify this patch?

@Raunak1203
Tests run successfully after deleting all .js files from the directory. Good job!

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-10 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-11 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 the tests fails locally

Planner Smoke Tests: create a work item and add/remove assignee

Failed: stale element reference: element is not attached to the page document
(Session info: chrome=64.0.3282.140)
(Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.16-300.fc27.x86_64 x86_64)

Planner Smoke Tests: Check WorkItem creator name and image is reflected

Failed: stale element reference: element is not attached to the page document
(Session info: chrome=64.0.3282.140)
(Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.16-300.fc27.x86_64 x86_64)

Planner Smoke Tests: Associate/Re-associate workitem with an Iteration

Failed: stale element reference: element is not attached to the page document
(Session info: chrome=64.0.3282.140)
(Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.16-300.fc27.x86_64 x86_64)

Work Item datatable list work item should show updated title when switching from flat to tree view

Failed: stale element reference: element is not attached to the page document
(Session info: chrome=64.0.3282.140)
(Driver info: chromedriver=2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.14.16-300.fc27.x86_64 x86_64)

Executed 17 of 17 specs (4 FAILED) in 2 mins 36 secs.

@nimishamukherjee UntilAbsent() was throwing staleElement Exception...Now it should work

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-14 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-16 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-18 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-19 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-20 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-21 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-22 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io

@nimishamukherjee i think now we can merge , we have more than 5 successful builds.

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2466-23 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2466-fabric8-planner.badger.fabric8.io