Add some ability to make filenames friendlier

Currently GoveeBTTempLogger generates files named after the devices' Bluetooth address.  This makes inspecting the .log file for a particular device rather awkward if there are many devices with similar addresses.   It would be nice if there were a mechanism to change the filenames.
Proposal:

Allow gvh-titlemap.txt to live in /usr/local/etc (possibly with a different filename, e.g. goveetemplogger-devices.conf).  For backward compatibility, GoveeBTTempLogger could additionally check for gvh-titlemap.txt in the SVG output directory first.
Add a command-line argument (e.g. --map-filenames) to enable naming files using the mapping file. (I'd personally prefer enabling it by default, but forcing users to opt-in is okay with me for the sake of compatibility.)
To avoid filename collisions, the actual filenames would be of the form TITLE (ADDRESS).  For example: Outside (E35ECC215C0F).{log,svg}.

If the above sounds good and if you don't foresee any major obstacles, I'm willing to try to implement it.

I don't have time to look at this before Monday. I'll see what it looks like then..

I'm still thinking about the logfile name friendliness issue.
I've lamented that I chose gvh507x_ as the prefix for quite a while now, as gv_ would have been much nicer as I've learned about more devices.
Having run the program for over two years with way too many devices, I've got 272 files in my log directory. Initial startup takes quite a while on my Pi4 as it reads all the old data into memory.
One of the advantages of the current naming scheme is that all filenames are the same length, and the Bluetooth address occupies the same position in each filename, as does the year and month.

There's a couple of other issues with trying to make the filenames friendlier via a map file.
The current filenames are known to be filesystem friendly. It would be very easy to mistakenly put characters in a custom title that work fine for an SVG title, but don't work in a filesystem. Worse, sometimes those names can be created in a filesystem easily, and manipulated from a C program just fine, but shell command line expansion causes funny things to happen, such as making a file nearly impossible to delete, or mistakenly deleting all files in a directory.
If input from a titlemap was included in the filename, a single character change in the map would mean that the data would be logged to an entirely new file. merging the data after the fact is a headache. (Part of the reason I've been living with the prefix I'm no longer happy with for such a long time.)

One of the advantages of the current naming scheme is that all filenames are the same length, and the Bluetooth address occupies the same position in each filename, as does the year and month.

While that might be a nice property, is it a useful property?  And if it is useful, does that usefulness outweigh utility from being able to find a desired log, especially if the user explicitly opted in to using a custom filename?

The current filenames are known to be filesystem friendly. It would be very easy to mistakenly put characters in a custom title that work fine for an SVG title, but don't work in a filesystem. Worse, sometimes those names can be created in a filesystem easily, and manipulated from a C program just fine, but shell command line expansion causes funny things to happen, such as making a file nearly impossible to delete, or mistakenly deleting all files in a directory.

I agree that's a potential problem, but again, what I'm suggesting here is a mechanism for users to opt-in to using custom filenames.  An argument that custom filenames shouldn't be allowed because users might give their files problematic filenames also would apply to any other program (including the shell) that allows users to name files.  Ultimately users can't be protected from themselves.
If it's still a concern, I think that 99% of problems could be addressed by:

Requiring that filenames have a fixed prefix to prevent them from starting with a -.
Disallowing all whitespace that isn't ' ' (0x20).

If input from a titlemap was included in the filename, a single character change in the map would mean that the data would be logged to an entirely new file. merging the data after the fact is a headache.

That's a good point, but IMO that shouldn't necessarily be GoveeBTTempLogger's responsibility to deal with.  If a user chooses to rename their device, then I think that creating a new set of log files, while not ideal, would not be unreasonable.  Users with sufficient technical aptitude and desire could write scripts to rename their existing files.
Alternatively: instead of renaming the existing files, create symlinks with friendlier names.  I don't particularly like the idea of cluttering directories by doubling the number of files though.  Maybe a satisfactory compromise could be to create friendly symlinks to just the latest log file or perhaps storing all of the symlinks in a separate directory.

Since I expect backward compatibility to be a sticking point, I've instead written a Python script to make it easier to view the log files I want: https://github.com/jamesderlin/gv-log-tools


[DE DateTimeV2] Support for time expression [minutes] nach/vor [hour]

Adding support for German time expressions such as "10 nach 3" and "zehn nach drei" (ten past three), as well as "5 vor 4" and "fünf vor vier" (five to four).
For reference:

Time Expressions in German
German Time Phrases & Expressions

The AppVeyor build failed due to:

Build execution time has reached the maximum allowed time for your plan (60 minutes).

Will try again.

@tellarin the issue with the tests has been fixed. Could you please take a look?


Documenting directories?

Search Terms
directory, folder, documentation
Problem
Directories usually group related source code files. It’d be nice if there were a way to document those files as a group: “This directory contains various helper modules. […]”
Suggested Solution
One option:

If TypeDoc detects a file directory-info.md in a directory, it uses that file to document the directory.

TypeDoc doesn't deal with directories at all... What would this give you that adding a module comment to index.ts in the directory doesn't?


Preview pane toolbar

I think there could be a contextual minimal little toolbar on the preview pane (top or bottom?) allowing you to toggle between preview modes (so for example for a Markdown document preview [#7], toggle between raw and rendered HTML, and for a HTML source document actually have a webkit browser rendering HTML as mentioned in more detail in #50, and this toolbar could then become a basic browser one)

:+1: I like this idea.


Convert lastModified() calls to the more precise getModifiedTime()

Use the new native file modification timestamps, which return times with full millisecond precisions whenever possible.
Depends on https://github.com/sbt/librarymanagement/pull/189
See: https://github.com/sbt/io/pull/92

To validate this pull request against other sbt modules, please visit this link.

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@66763f9a542b6fa28938e38dd480261cd0e1457b

zinc
pull/463/head
sbt/zinc@e809ae51b11e1af3df66e83a16f5c20012203b70

io
pull/92/head
sbt/io@04a902a982fdd702e8104d99c71050cb32e20c8a

librarymanagement
pull/189/head
sbt/librarymanagement@bc255105b127cb8857a21528535557565cd96701

util
pull/134/head
sbt/util@3b404aecaa8e515a7c8f102241d4ab159c171e91

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@32846825920e5a79a8a209d784d10711b0d2b1fc

zinc
pull/463/head
sbt/zinc@5d07d2994db55efa325e12bd90556cea86a31804

io
pull/92/head
sbt/io@e9400ca4cf2ff9f748f8ce60415270302ff88b2e

librarymanagement
pull/189/head
sbt/librarymanagement@bc255105b127cb8857a21528535557565cd96701

util
pull/134/head
sbt/util@35cd61c562915de7422d1510273c7b537e42ef27

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@32846825920e5a79a8a209d784d10711b0d2b1fc

zinc
pull/463/head
sbt/zinc@5d07d2994db55efa325e12bd90556cea86a31804

io
pull/92/head
sbt/io@07ef05614c769f9ddea6ad8eb783eb59a416b79a

librarymanagement
pull/189/head
sbt/librarymanagement@74380f09b655c2653fbd7888600c6585d94e8959

util
pull/134/head
sbt/util@35cd61c562915de7422d1510273c7b537e42ef27

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@a0c884deda2d9330fd549d421438210b5a473833

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/92/head
sbt/io@e433a5c62aa94dea4a1203c2c29af97e0d396afc

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@d03dfb39817be24a84556cabfc4affc4ac257bb2

website
1.x

:white_check_mark: The result is: SUCCESS
(restart)

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@a0c884deda2d9330fd549d421438210b5a473833

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/92/head
sbt/io@e433a5c62aa94dea4a1203c2c29af97e0d396afc

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@d03dfb39817be24a84556cabfc4affc4ac257bb2

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@0f151e9f2c712a1af98a95596e51ff6ef6eeaf35

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
1.1.x
sbt/io@0a8d26121d2ef03f9bc03d710baa6957e5ec6f03

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@d03dfb39817be24a84556cabfc4affc4ac257bb2

website
1.x

:white_check_mark: The result is: SUCCESS
The binaries are at https://dl.bintray.com/sbt/maven-snapshots
The new sbt version is: 1.0.3-bin-20171207T013530
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@0f151e9f2c712a1af98a95596e51ff6ef6eeaf35

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
1.x
sbt/io@98cc14a6f7191ad30a0fefa60be43ae0eb0e35af

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@0f151e9f2c712a1af98a95596e51ff6ef6eeaf35

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
1.1.x
sbt/io@0a8d26121d2ef03f9bc03d710baa6957e5ec6f03

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:white_check_mark: The result is: SUCCESS
The binaries are at https://dl.bintray.com/sbt/maven-snapshots
The new sbt version is: 1.0.3-bin-20171209T002807
(restart)

A validation involving this pull request is in progress...

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@30b53618c99d80dae9886651436df233d8b4cb2f

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:white_check_mark: The result is: SUCCESS
The binaries are at https://dl.bintray.com/sbt/maven-snapshots
The new sbt version is: 1.0.3-bin-20171213T145141
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@30b53618c99d80dae9886651436df233d8b4cb2f

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@30b53618c99d80dae9886651436df233d8b4cb2f

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:x: The result is: FAILED
(restart)

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@5ab232b0ad87a5479078cb4a18fe5599b8b15d36

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:white_check_mark: The result is: SUCCESS
The binaries are at https://dl.bintray.com/sbt/maven-snapshots
The new sbt version is: 1.1.0-bin-20171214T111843
(restart)

A validation involving this pull request is in progress...

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12, 2.11,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@5ab232b0ad87a5479078cb4a18fe5599b8b15d36

zinc
pull/463/head
sbt/zinc@422340c8e0abb31a0cc42c9e3ff3c726498c8028

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@aacab10c79abbbe206ab7b6e251a6ab8e6313fdd

util
pull/134/head
sbt/util@cd4346c5d7aa0c04893bc7ae85c240e1a6926c62

website
1.x

:x: The result is: FAILED
(restart)

I'm closing this in favor of https://github.com/sbt/zinc/pull/469

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12, 2.11,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
pull/3789/head
sbt/sbt@508947178325304deccab72654ec47eb16dc41c2

zinc
pull/463/head
sbt/zinc@717b2489d1dac291161234b25068d8a5f75730ee

io
pull/100/head
sbt/io@8c5947be6c04c6a0b5d6543ec181f10f4b5d6cc7

librarymanagement
pull/189/head
sbt/librarymanagement@0b496f4d41aadd8910998e69d8ef0e4235fe7155

util
pull/134/head
sbt/util@3d9eab1bf8866010b8643261e7f2df3bab1102ab

website
1.x

:x: The result is: FAILED
(restart)


CurrentCharacter, CurrentCharacter2P, AltCostume and AltCharacter should be synchronized

The main issue with this is: where do they get synchronized? Requires investigation. Might be doable in the stage change event.

Side note: this should theoretically ensure that the Random battle mode works correctly.


Stuff for parsing mentions

proposed interface:
parse_mentions(str) do |content|
  case content
  when Discordcr::Mention
    # Mention
  when String
    # message hunk
  end
end

Might want a few fancier wrappers around it if required.

Why not something simple like
mentions = Discord.parse_mentions(str)
p mentions # [66237334693085184,<PHONE_NUMBER>7724544]

@meew0 because you don't get their position in the string. We could build your method based on parse_mensions(str, &block)


Add hello world from .ro top level domain.

What does the program do ?

It prints the url to access the helloworld website from .ro top level domain.
In what programming language it is written?
PHP

Thank you for participating  in hacktoberfest ❣ if you liked working on this repo you can share it with friends and star this project for helping others


Format src 3

Contributor Checklist

[-] Did you add Scaladoc to every public function/method?
[-] Did you update the FIRRTL spec to include every new feature/behavior?
[-] Did you add at least one test demonstrating the PR?
[-] Did you delete any extraneous printlns/debugging code?
[x] Did you specify the type of improvement?
[x] Did you state the API impact?
[x] Did you specify the code generation impact?
[x] Did you request a desired merge strategy?
[x] Did you add text to be included in the Release Notes for this change?

Type of Improvement
Code cleanup
API Impact
None
Backend Code Generation Impact
None
Desired Merge Strategy
Squash
Release Notes
Firrtl source code has been machine reformatted with scalafmt. All PR's to this repo must now be
formatted correctly in order to pass CI.
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (1.2.x, 1.3.0, 1.4.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

I rebased this to include changes from https://github.com/freechipsproject/firrtl/pull/1839
And by rebased, I mean I cherry-picked the first commit adding the ability to run Scalafmt, I completely redid the second commit by rerunning scalafmtAll but committed it as Chick with the same message. Then cherry-picked the 3 following commits.

Closing in favor of https://github.com/freechipsproject/firrtl/pull/1852


Android "quick settings" menu causes input handling problems

It looks like using the Android "quick settings" menu somehow interferes with scenery's input handling.  This was originally reported in https://github.com/phetsims/equality-explorer/issues/133, but identified as a problem "that can happen with any sim".
System Requirements FAQ on the PhET website says:

Android: Not officially supported. If you are using the HTML5 sims on Android, we recommend using the latest version of Google Chrome and Android 4.1+.

But as @amanda-phet pointed out in https://github.com/phetsims/equality-explorer/issues/133#issuecomment-403133730, PhET has an Android app, and this problem occurs in that app.
Assigning to @ariel-phet and @jonathanolson to discuss and prioritize.

@ariel-phet @jonathanolson Based on @amanda-phet's comments in https://github.com/phetsims/equality-explorer/issues/133#issuecomment-403133730, we are planning to release Equality Explorer 1.0 with this known problem.  If you have any objections to that, please raise them asap.

No objections to EqEx going out with this. It can always be included in a maintenance release.
I'll definitely need to work with an android device (still have a nexus 7 tablet that I'll get) for this. I may also want to create a "debugging" runnable repo that outputs all scenery/other input events and displays them to the screen (for easier identification for issues like these).
I'll leave up to @ariel-phet to prioritize.

Reading through the issue, this does not seem pressing.
I will plan to discuss a bit more with @jonathanolson

@KatieWoe assigning to you to let you know (and communicate to the QA team) that I don't think this is an issue we need to handle.

It requires mutlitouch, and in particular the edge case of swiping the quick settings menu (on my android phone this is a very intentional action, not easily encountered in normal use)

It does not crash the sim, and is fixes itself once the quick setting menu is dismissed

Please feel free to close the issue.


Problem with importing animation blending result

Hello! Is it possible to rewrite your plugin for Blender?
Blending result is plausible in 3dsMax:

After exporting to fbx and importing to Blender, problems are revealed.

However, if you import fbx into Blender of any of the animations before blending, the result is adequate:

It's decided. There are no problems, it was necessary to reset xForm.

There is a problem. In some cases the animation is smooth, but in some cases the result is not smooth.

Sorry, It works correctly)


predict_proba method returns array of size (n_samples, 2) regardless of the number of classes

Describe the bug
Using the predict_proba method produces an array inconsistent with the number of classes, and always produces an array of size n_samples, 2
Steps/Code to Reproduce
`from groupyr.datasets import make_group_classification
from groupyr import LogisticSGL
X, y, groups = make_group_classification(n_samples = 500, n_classes = 8, random_state = 0)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1)
model = LogisticSGL(groups = groups)
model.fit(X_train, y_train)
model.predict_proba(X_test)`
Expected Results
I expected an array of size 50, 8, but got one of size 50, 2
Actual Results
array([[0.00000000e+00, 1.00000000e+00],
[5.68755714e-01, 4.31244286e-01],
[2.83550960e-13, 1.00000000e+00],
[8.64863736e-13, 1.00000000e+00],
[4.52056170e-11, 1.00000000e+00],
[0.00000000e+00, 1.00000000e+00],
[2.44249065e-15, 1.00000000e+00],
[1.98451813e-06, 9.99998015e-01],
[4.29922467e-05, 9.99957008e-01],
[0.00000000e+00, 1.00000000e+00],
[1.96334715e-07, 9.99999804e-01],
[7.24888152e-06, 9.99992751e-01],
[9.99999571e-01, 4.29150334e-07],
[7.86086434e-04, 9.99213914e-01],
[2.69039440e-01, 7.30960560e-01],
[9.99999302e-01, 6.97585749e-07],
[8.18352053e-11, 1.00000000e+00],
[3.08642001e-12, 1.00000000e+00],
[8.88178420e-16, 1.00000000e+00],
[6.08360810e-01, 3.91639190e-01],
[1.30118138e-13, 1.00000000e+00],
[6.21724894e-15, 1.00000000e+00],
[1.00000000e+00, 2.93300056e-12],
[4.54094465e-08, 9.99999955e-01],
[4.25080449e-04, 9.99574920e-01],
[8.67024220e-01, 1.32975780e-01],
[9.99974998e-01, 2.50021319e-05],
[7.29032390e-11, 1.00000000e+00],
[3.45561157e-09, 9.99999997e-01],
[2.72104561e-11, 1.00000000e+00],
[0.00000000e+00, 1.00000000e+00],
[4.69719716e-08, 9.99999953e-01],
[9.85393106e-07, 9.99999015e-01],
[0.00000000e+00, 1.00000000e+00],
[6.70574707e-14, 1.00000000e+00],
[3.20425858e-07, 9.99999680e-01],
[9.99990235e-01, 9.76457155e-06],
[2.53925407e-02, 9.74607459e-01],
[9.96085916e-01, 3.91408362e-03],
[5.13633580e-12, 1.00000000e+00],
[9.99992114e-01, 7.88617592e-06],
[4.44089210e-16, 1.00000000e+00],
[1.47470647e-03, 9.98525294e-01],
[4.82376618e-02, 9.51762338e-01],
[1.15463195e-14, 1.00000000e+00],
[1.34734691e-06, 9.99998653e-01],
[8.27309332e-11, 1.00000000e+00],
[1.10023102e-12, 1.00000000e+00],
[1.33504319e-11, 1.00000000e+00],
[6.41155066e-08, 9.99999936e-01]])
Versions
import groupyr as gpr
print(gpr.version)
0.2.7

@hillb13, thanks for pointing this out. Right now, groupyr doesn't inherently support multiclass classification. That is a nice feature to have, so I'm going to leave this issue open as a reminder. But in the meanwhile, I think you should be able to get what you want by using sklearn's OneVsRestClassifier. E.g.,
from sklearn.model_selection import train_test_split
from sklearn.multiclass import OneVsRestClassifier

from groupyr.datasets import make_group_classification
from groupyr import LogisticSGL

X, y, groups = make_group_classification(n_samples = 500, n_classes = 8, random_state = 0)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1)

model = OneVsRestClassifier(LogisticSGL(groups = groups))
model.fit(X_train, y_train)
model.predict_proba(X_test)

Ah I see. Thanks for the clarification.


OIDC - Fail if the user-info subject does not match

#407
@tushargupta51 @brentschmaltz @muratg

looks good to me

Updated

:shipit:

Merged


Undo can cause recently added images to be lost unexpectedly

When an image is uploaded in an image card, the internal card save is not triggering an undo state to be created. Typing after uploading the image then triggering an Undo to clear the text can also clear the uploaded image leaving a blank card.

Closing as duplicate of https://github.com/TryGhost/Ghost/issues/10049


Add --auto-correct cmdline option to gradle tasks

This allows you to run ./gradlew detekt --auto-correct
I often find myself wanting to make this configurable particularly so that I can run it locally and not on ci. Also because auto-correct is a potentially destructive operation it's nice to have to be explicit to enable it on the cmdline instead of hard-coding it in the detekt task configuration. Having a standard option for this also makes it easier to autofix your code when working on various third-party projects using detekt.

@evant can you update the documentation? I think that's the only thing missing for us to merge this.

Glad to see a change of ❤ on this. I should provide better arguments time.


With ActiveStorage you can't remove an image

You super scaffold an image field and then upload an image to a record it will show you an option to remove the currently uploaded image.

If you click that button it will appear to remove the image.

But when you save the record and it redirects to the show page, the image is still there.

(Cloudinary images can be remove.)

The file field, which is very similar to the image field, does allow you to successfully remove the currently uploaded file.

Doing this:
rails g super_scaffold Widget Team name:text_field image_upload:image file_upload:file_field

You end up with a model like this:
class Widget < ApplicationRecord
  # 🚅 add concerns above.

  attr_accessor :file_upload_removal
  # 🚅 add attribute accessors above.

  belongs_to :team
  has_one_attached :image_upload
  # 🚅 add belongs_to associations above.

  # 🚅 add has_many associations above.

  has_one_attached :file_upload
  # 🚅 add has_one associations above.

  # 🚅 add scopes above.

  validates :name, presence: true
  # 🚅 add validations above.

  after_validation :remove_file_upload, if: :file_upload_removal?
  # 🚅 add callbacks above.

  # 🚅 add delegations above.

  def file_upload_removal?
    file_upload_removal.present?
  end

  def remove_file_upload
    file_upload.purge
  end
  # 🚅 add methods above.
end

There are a few notable differences between the image_upload and file_upload attributes.

The has_on_attached statements end up in different places. I don't think this is causing any problems, but it's weird.
The file_upload attribute generates a few additional lines that are missing for the image_upload attribute.

  attr_accessor :file_upload_removal

  after_validation :remove_file_upload, if: :file_upload_removal?

  def file_upload_removal?
    file_upload_removal.present?
  end

  def remove_file_upload
    file_upload.purge
  end

I tried manually adding similar lines for the image_upload but I'm still unable to actually remove an image.

I was able to get it to work by manually adding image_upload_removal as an allowed parameter in api/v1/widgets_controller.rb.
    module StrongParameters
      # Only allow a list of trusted parameters through.
      def widget_params
        strong_params = params.require(:widget).permit(
          *permitted_fields,
          :name,
          :image_upload,
          :image_upload_removal, # <---- Manually added this line
          :file_upload,
          :file_upload_removal,
          # 🚅 super scaffolding will insert new fields above this line.
          *permitted_arrays,
          # 🚅 super scaffolding will insert new arrays above this line.
        )

        process_params(strong_params)

        strong_params
      end
    end


Error in <26 sdk Versions due to java/time/LocalDate

An error is occurred when the app is running in devices with <26 sdk.
The reason is a time library used in AMQP qpid broker and exist in android version from 26 and above as you can see here:
https://stackoverflow.com/questions/52510370/java-lang-noclassdeffounderror-failed-resolution-of-ljava-time-localdate-erro
Suggested Solutions:

Change the min sdk version to 26. Drawback: smaller number of supported devices.

Modify the qpid-broker-j library's source code and remove this problematic library. Drawback: more difficult may cause other issues, but I have modified the code already and removed some legacy libraries from statistics module that weren't compatible with android.

Replaced with Joda-Time library and the issue is fixed.
https://www.joda.org/joda-time/


Changed focus order inside of datepicker. Added ability to open time …

…component by tabbing.

 VPAT-465 | Date/Time picker | All browsers | Grid of dates cannot be focused


help-menu: Update tip at the bottom of search operators tab.

Updates the tip at the bottom of the search operators tab in the ? menu to only state that operators can be combined as needed.
Fixes #22866.
Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @laurynmm!


Update React Router

So that we can have a more declarative and simpler routing engine.

https://github.com/spartansystems/booster-kit-react/pull/32


_JavaScript

JavaScript
User Story
I want the pre-work notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

resolved at 2:54pm 9/10/2024


feat(Modal): ensure passing along evt for onRequestClose()/onRequestSubmit()

This change allows consumers to determine whether modal should be closed or not by looking at what event requested submitting/closing modal.
Resolves #1271.
Changelog
New

Code to ensure passing along event for onRequestClose()/onRequestSubmit() in <Modal>

@joshblack If you are referring to This synthetic event is reused for performance reasons. If you're seeing this, you're accessing the property cancelable on a released/nullified synthetic event. This is set to null. If you must keep the original synthetic event around, use event.persist(). See https://facebook.github.io/react/docs/events.html#event-pooling for more information., no - Those callbacks are called synchronously and thus the events haven’t been recycled when they are called. Let me know if you are thinking of a different thing - Thanks!


Tree-shaking not producing the same result depending on whether Dart code is compiled as Javascript or Android binary

Create a Flutter application containing the following code:
import 'dart:math';

void log(String s) {
  // This line is basically 'if (!kReleaseMode)', but is also compatible with plain-Dart (not Flutter) compilation
  if (!(const bool.fromEnvironment('dart.vm.product'))) {
    print(s);
  }
}

final val = Random().nextInt(1000).toString();
log("Testlog: $val"); // only tree-shaken when building for web (Flutter or plain Dart)
log("Testsimplelog"); // tree-shaken in all cases (web or Android)

Now build with

flutter build web. Open the generated main.dart.js file with an hexadecimal editor, look for 'Testlog': you won't find the string, meaning its construction has been tree-shaken away. Of course, the call to nextInt() does take place, and is not tree-shaken away (as expected). Note that dart compile js ... -O[1-4] also correctly tree-shakes the string generation code.

flutter build appbundle --obfuscate. Open libapp.so (from the, eg., armeabi-v7a platform under base\lib) and do the same: you will find the string, this time. It is created by the compiler, and is not tree-shaken away.

Tree-shaking is less powerful with the Android compiler - is that expected, or is this a bug?
Note that, in both cases this time, "Testsimplelog" is correctly tree-shaken away.
Using Flutter 3.22.3 (Dart 3.4.4), on Windows.
Same result with Flutter 3.24.3 (Dart 3.5.3)

Thanks for your reply.
Tree shaking is an important step of pruning debug-related messages in the final binary, so it is very important to understand it.
I have the following code:
            final userCredential =
                await FirebaseAuth.instance.signInAnonymously();
            String? currentFauthid = userCredential.user!.uid!;
            String str = currentFauthid!.toString();
            final logString = "Firebase Auth id " + str; // not tree shaken. Why?
            log(logString);

            final val = Random().nextInt(1000).toString();
            log("Randomval1: $val"); // not tree shaken (confirms what you wrote)
            final logString2 = "Randomval2: " + val; // tree shaken
            log(logString2);

I have been banging my head on this for the last few hours, and I can't understand why, the logged String is not tree-shaken.
Still using the same log function listed at the top of this issue, building for android-arm.

@andynewman10 I don't think there should be any difference between logString and logString2 in your example above. In both cases I would expect left hand side of the concatenation to stay in the binary.

@mraleph you are correct, I did eventually find it in libapp.so. Sorry about this.
What can I do to have my log strings tree shaken when I am building the final app bundle? I wondered if there is maybe any advice you could give me?
This is really important that my debug strings are eliminated. Dart does not have a preprocessor and I don't even know if macros would solve this problem (I am not familiar with them and I understand they are still heavily in beta).

@andynewman10 I think your best option for now is either to avoid using interpolation or to use closures:
const _absent = Object();

@pragma('vm:prefer-inline')
@pragma('dart2js:tryInline')
void log(
  String a, [
  Object? a0 = _absent,
  Object? a1 = _absent,
  Object? a2 = _absent,
  Object? a3 = _absent,
]) {
  if (!(const bool.fromEnvironment('dart.vm.product'))) {
    print([
      a,
      if (!identical(a0, _absent)) a0,
      if (!identical(a1, _absent)) a1,
      if (!identical(a2, _absent)) a2,
      if (!identical(a3, _absent)) a3,
    ].join(''));
  }
}

or
@pragma('vm:prefer-inline')
@pragma('dart2js:tryInline')
void log(String Function() a) {
  if (!(const bool.fromEnvironment('dart.vm.product'))) {
    print(a());
  }
}

@raleph your versions work with android-arm but - and that's sad - none of these 2 versions trigger tree-shaking when using a web target. I'm targetting both platforms (mobile and web) so I am still puzzled as to how I'm going to do to handle this. It indeed does not work in all cases, and because the syntax is always different, I am wondering what to do now.

@mraleph It works. I had a proxy function inbetween log and my code in the web case, and this disrupted tree-shaking. I tried adding the pragmas on this function, but it didn't help. In the end I removed the proxy function which was of no importance.
I think it is best if I check things on iOS, for completeness, before closing this issue.

Seems you resolved the issue by now, just wanted to note that the web compiler was probably behaving similar to the aot/arm builds also in the very first comment: the compiler needs to preserve the side-effects of the interpolation too. I believe the web output was removing the actual interpolated string, but included the side-effects from building it. For example, if you had:
int i = 0;
String nextValue() => "${i++}";

main() {
  log('entry: ${nextValue()} ${nextValue()}');
  print(i);
}

I would have expected this to print "2" in either debug or release mode.
Closures are one way to ensure those side-effects are omitted in release mode:
main() {
  log(() => 'entry: ${nextValue()} ${nextValue()}');
  print(i); // prints 0 in release mode.
}

Another option is to refactor the logging method, to make the log unconditional, but the presence of a logger conditional. For example:
class Logger {
  void log(s) => print(s);
}
final Logger? logger = const bool.fromEnvironment('dart.vm.product') ? null : Logger();

main() {
  logger?.log('entry: ${nextValue()} ${nextValue()}');
  print(i); // prints 0 in release mode.
}

Both web and native compilers recognize that the nullability of logger is basically constant, so they both manage to tree-shake all calls to ?.log as well.
I don't believe there are strong reasons to prefer one or the other option, it's just a matter of style and personal preference.

@mraleph @sigmundch love the compactness yet flexibility of the closure, and the ?. operator trick is so simple and yet so smart, too.
I verified that my iOS debug strings have been successfully pruned.
I understand your points about interpolation, that needs to take place and "run".
Thanks both for your valuable advice.


Replace troubleshoot.io with troubleshoot.sh

Relates to: https://github.com/replicatedhq/troubleshoot/issues/1070

What this PR does / why we need it:
This changes references to troubleshoot.io in Support Bundle types to troubleshoot.sh.  The reason for this is that the Troubleshoot project does not own troubleshoot.io.
Which issue(s) this PR fixes:

Fixes Troubleshoot #1070
Special notes for your reviewer:

Note that this changes the label stored on secrets that contain support bundles.  This should be reviewed alongside https://github.com/replicatedhq/troubleshoot/pull/1075
Steps to reproduce

Does this PR introduce a user-facing change?

Support-bundle specs stored in-cluster prior to this change were stored with a label `"troubleshoot.io/kind=support-bundle"`.  The label was used as a default setting for the Troubleshoot command to search for support bundles.  As of release 0.60.0, Troubleshoot searches for `"troubleshoot.sh/kind=support-bundle"`.  The label has been updated in this change to match the new search value.

Does this PR require documentation?

NONE

I've updated the change to preserve the existing labels, and add a new one

https://github.com/replicatedhq/troubleshoot/pull/1203 added the default support for the 'old' label as well as the corrected one, this PR is now safe to add to kURL.


Display POST body parameters as tables

Replace a whole bunch of special-casing for POST body parameters with the same
logic as is used for response objects: represent all but the top-level as
tables.
Once this, #255, and #254 all land, we'll have documentation of the params to POST /filter.

LGTM

Actually, I believe this isn't required-ing all of the params, e.g. search RoomEvent in http://matrix.org/speculator/spec/257/client_server.html

Hrm. That's not new, but I'll look into it.
On 11/01/16 13:19, Daniel Wagner-Hall wrote:

Actually, I /believe/ this isn't required-ing all of the params, e.g.
search RoomEvent in http://matrix.org/speculator/spec/257/client_server.html
—
Reply to this email directly or view it on GitHub
https://github.com/matrix-org/matrix-doc/pull/257#issuecomment-170546091.

Wait. RoomEvent only appears in responses. It doesn't seem to make
sense to mark response fields as "required".
On 11/01/16 14:36, Richard van der Hoff wrote:

Hrm. That's not new, but I'll look into it.
On 11/01/16 13:19, Daniel Wagner-Hall wrote:

Actually, I /believe/ this isn't required-ing all of the params, e.g.
search RoomEvent in
http://matrix.org/speculator/spec/257/client_server.html
—
Reply to this email directly or view it on GitHub
https://github.com/matrix-org/matrix-doc/pull/257#issuecomment-170546091.


Fix Service Worker and FCM Token Bugs

Improves how our app communicate to Firebase for sending messages and makes sure our service worker (a background task manager) is set up correctly before we try to get messages.
Improvements:

Checks the Service Worker: Makes sure it's running before trying to get messages.
Better Order of Steps: Makes sure things run in the right order to avoid errors.
Clearer Error Messages: Helps us find and fix issues faster.

Issue Fixed:

Problem: An error was happening when trying to manage message subscriptions because the service worker wasn’t set up.
Solution: Now, we make sure it's set up first, preventing that error.

These changes resolve issues with retrieving the FCM token and enhance error detection.

Consider closing this PR since its changes have been merged into an open PR #118


How can I quickly convert a Tensor to a byte array?

I tried to use the for loop and found it very time-consuming，
The inference time of neural network is 5ms, but it takes 300ms for Tensor to turn to Arry
Tensor.shape=[320,256]

I asked CHATGPT, but it didn't solve the problem. Visual studio prompts that there is no such API
python实现方法：
array1=tensor2.numpy()

The reasoning time is reduced from 300 ms to 40 ms

Be careful with bytes -- it will point to native memory and is a very low-level API. If the array element type you want corresponds to the tensor's element type, you should use a.data<T>(), instead of a.bytes. It's safer and does a validation of the underlying element type.

I asked CHATGPT, but it didn't solve the problem. Visual studio prompts that there is no such API
python实现方法：

ChatGPT hasn't seen much TorchSharp code, so don't rely on it for advice. Take a look at our tutorials at dotnet/TorchSharpExamples


How can I set the default to ---  Open events in modal window

How can I set the default to ---  Open events in modal window , I have tried the checked value on form, and on js files, but couldn't work
I would like a visitor to view events in modal window, without checking on the option

same with me, I am having this issue, any update to you?

In calendar.js set     modal: "#events-modal",         where events-modal is the id of the modal you put on the main file For thus who are asking me directly through the email , I hope u are subscribed too

I have set In calendar.js -> set modal: "#events-modal". But still the events will open in a new window and not in modal

Do you got a modal on the page with the #events-modal ID?

Νο it just directs me to a new page

Ah... if you just picked the demo, by default it does not uses the modal,
Do you use the following JS? on your Calendar, this is all explained through by the README on the frontpage.
$("#calendar").calendar({
modal : "#events-modal",
modal_type : "ajax",
modal_title :
function (e) { return e.title }
});

Insert following HTML on your script and make sure you don't have it already:

 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Event

 Close

Modal which is used by the Demo.

If your issue is not resolved please explain further,
and post some code examples so we can examine what goes wrong.

@cablegunmaster So I follow the steps below:

npm install bootstrap-calendar
I include the following code in index.html

<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="css/style.css">
    <link rel="shortcut icon" type="image/png" href="img/favicon.png">
    <link rel="stylesheet" href="css/monthly.css">
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/calendar.css">

                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Event

                Κλείσιμο

In myscript.js I have included the following lines :
$(window).on('load', function () {

    $("#calendar").calendar(
        {
            language: 'el-GR',
            tmpl_path: "./tmpls/",
            events_source: function () {
                return [
                    {
                        "id": 293,
                        "title": "Event 1",
                        "url": "http://example.com",
                        "class": "event-important",
                        "start":<PHONE_NUMBER>000, // Milliseconds
                        "end":<PHONE_NUMBER>000// Milliseconds
                    }
                ];
            },
            modal: "#events-modal",
            modal_type: "template",
            modal_title:
                function (e) { return e.title }
        });

);

In calendar.js
               // ID of the element of modal window. If set, events URLs will be opened in modal windows.
		modal: "#events-modal",
		//	modal handling setting, one of "iframe", "ajax" or "template"
		modal_type: "template",
		//	function to set modal title, will be passed the event as a parameter
		modal_title: "Γεγονός",

I also use live-server so that I can load the tmp files

Thanks for posting this issue so clearly,
when I get home, I will try to recreate your issue and suggest a change.

@cablegunmaster Have you tried to reproduce the issue?

Okay, im gonna follow exactly what you are saying and doing:
1 bower install bootstrap-calendar
This created the bower_components folder in the same folder as C:\Development\bootstrapCalendar
2. bower list--path (on cmd executed gave me a list of files.) Which are on bower_components and added them all to the corresponding CSS and JS folders underneath.

I include the following code in index.html in C:\Development\bootstrapCalendar\index.html
monthly.css not found but this could be a minor issue regarding your problem.

added all the missing files it asks for in console

Template issue:
Got on to the error after installing and doing everything as told:
Failed to load file:///C:/Development/bootstrapCalendar/tmpls/month.html: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Calendar.js Issue
The Calendar.JS File is lacking a "}" on the end which gives a syntax error in the console.
You should look at this if you haven't already.
It should be : ' }); '  instead of ' ); ' Did not close correctly.
As for the original modal issue I am still working on it. Could be because this is on my own pc, I am trying to upload on a webserver to test.

**Getting with calendar.js **
Uncaught TypeError: $(...).tooltip is not a function
in line 1008 there should be a check around it if the "tooltip" actually exists.
Just commented it, and got to your second finding:
Uncaught TypeError: modal.modal is not a function
    at HTMLAnchorElement.<anonymous> (calendar.js:1106)
    at HTMLAnchorElement.dispatch (jquery.min.js:3)
    at HTMLAnchorElement.r.handle (jquery.min.js:3)

Line: var modal = $(self.options.modal);  is a modal with "modal" function, looking at the Index,html again checking if bootstrap.js is present? none found?
Issue FOÜND!
No bootstrap.js present in index.html
Order should be in index.html

Bootstrap.js found to be compatible:  Bootstrap v3.3.7 (http://getbootstrap.com)
and the modal should be changed to:

                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Event

                    Close


Added a way to read failure option specified in the Yaml

Change: read the failure.option key specified in the Yaml and use it in the ad-hoc executions. Optionally, the user can override the value by explicitly passing the request param failureOptionOverride=true. In this case, we will give precedence to the value the user passes through UI or API.
Testing:

Tested by having a sample workflow that has the following config section and another workflow that doesn't have this config section. I was able to see the failure.option value getting used in the first case, and in the second case, we picked the default value.

config:
  failure.option: finish_all_possible

when we pass the additional param failureOptionOverride=true the value selected in the UI or the value passed in the API gets used. In the UI, we should add a change similar to the override failure email. But that change can be added as a second step to this.

Pull Request Test Coverage Report for Build 6241

22 of 31 (70.97%)  changed or added relevant lines in 5 files are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.0002%) to 44.796%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/project/DirectoryYamlFlowLoader.java
2
3
66.67%

azkaban-common/src/main/java/azkaban/server/HttpRequestUtils.java
1
3
33.33%

azkaban-common/src/main/java/azkaban/executor/ExecutionOptions.java
8
11
72.73%

azkaban-web-server/src/main/java/azkaban/webapp/servlet/ExecutorServlet.java
1
4
25.0%

Files with Coverage Reduction
New Missed Lines
%

azkaban-common/src/main/java/azkaban/flow/Flow.java
1
88.46%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractProcessJob.java
2
52.58%

azkaban-exec-server/src/main/java/azkaban/execapp/JobRunner.java
4
76.74%

Totals

Change from base Build 6240:
-0.0002%

Covered Lines:
17384

Relevant Lines:
38807

💛  - Coveralls

Why have a flag and then have another flag to tell whether to use that flag?

Let's say the user has uploaded a flow with failure.option. This value will be fixed for all ad-hoc executions. For some reason, if a user wants to change it, it's not possible (without uploading the zip file again after modifying the failure.option config) if we don't provide an override mechanism. This override flag will be always false giving precedence to the value specified in the yaml. The user can turn it on to take any value from UI/API.

Why have a flag and then have another flag to tell whether to use that flag?

Let's say the user has uploaded a flow with failure.option. This value will be fixed for all ad-hoc executions. For some reason, if a user wants to change it, it's not possible (without uploading the zip file again after modifying the failure.option config) if we don't provide an override mechanism. This override flag will be always false giving precedence to the value specified in the yaml. The user can turn it on to take any value from UI/API.

Is the UI already in place for this?
Also. How abut making "failureOptionOverride" self-descriptive? So that just the name and value gives a good indication about which among many sources (of specifying it) will get precedence.


Update virtualization.md to inform about the need to set the renderMode to InteractiveServer

I have come to the fact that I was trying to setup a project with .NET 8 to use virtualize and I only had the configuration on program.cs to:
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();  and
app.MapRazorComponents().AddInteractiveServerRenderMode();
Only with that configuration Virtualize component in version 8.0 is not rendering the elements.
For sake of clarity I belive that is important to inform developers that virtualize only works if the rendermode is interactiveServer explicitly on the page or component where is to be used.

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/virtualization.md
ASP.NET Core Razor component virtualization

Hello @vpaulino ... The articles already say that by virtue of an INCLUDE file that I use widely across the doc set. It states ...

Documentation component examples usually don't configure an interactive render mode with an @rendermode directive in the component's definition file (.razor):

In a Blazor Web App, the component must have an interactive render mode applied, either in the component's definition file or inherited from a parent component. For more information, see ASP.NET Core Blazor render modes.


scipy.misc.resize doesnt work properly in linux, which works fine in windows

This is the error I'm getitng..w is float
image = sp.misc.imresize(image,w)
File "/usr/lib/python2.7/dist-packages/scipy/misc/pilutil.py", line 420, in imresize
imnew = im.resize(size, resample=func[interp])
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1334, in resize
im = self.im.resize(size, resample)
TypeError: must be 2-item sequence, not float

scipy version 0.13.3

@tyana6472 could you provide an example that reproduces this issue? You can load scipy.misc.ascent as an image. Also, what PIL version do you have?

Same issue with me too. I am writing the following:
im = misc.imread(image, flatten=1)
im = misc.imresize(im, 50)
Below is the error trace:
File "/usr/lib/python2.7/dist-packages/scipy/misc/pilutil.py", line 420, in imresize
imnew = im.resize(size, resample=func[interp])
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1334, in resize
im = self.im.resize(size, resample)
TypeError: must be 2-item sequence, not float

Works fine when using fractional values instead of int. For example this executes just fine:
im = misc.imread(image, flatten=1)
im = misc.imresize(im, 0.5)
So I believe percentage is not working although fraction works just fine.

I fixed this issue in my copy. I checked it in the master branch and found that it has already been fixed so this issue should be closed.

closing then.


Can't get generate function to work with any combination of syntax/tools

If I run:
node --experimental-specifier-resolution=node --loader ts-node/esm ./db/generate-dbml.mts

with ES6 syntax, I get:
(node:452) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

If I run:
npx tsx ./db/generate-dbml.ts

with ES6 syntax, I get:
/Users/kevinschaich/repositories/arlo-quoting-tool/node_modules/drizzle-dbml-generator/dist/index.cjs:139
    const dbml = new DBML().tab().escapeSpaces(column.name).insert(" ").escapeType(column.getSQLType());
TypeError: column.getSQLType is not a function

If I run:
node --experimental-specifier-resolution=node --loader ts-node/esm ./db/generate-dbml.mts

with node require syntax, I get:
(node:99972) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

If I run:
npx tsx ./db/generate-dbml.ts

with node require syntax, I get:
/Users/kevinschaich/repositories/arlo-quoting-tool/node_modules/drizzle-dbml-generator/dist/index.cjs:139
    const dbml = new DBML().tab().escapeSpaces(column.name).insert(" ").escapeType(column.getSQLType());

TypeError: column.getSQLType is not a function

require syntax code:
const schema = require('./schema')
const drizzleDbmlGenerator = require('drizzle-dbml-generator')

drizzleDbmlGenerator.pgGenerate({ schema, out: './db/schema.dbml', relational: true })

ES6 syntax code:
import * as schema from './schema'
import { pgGenerate } from 'drizzle-dbml-generator' // Using Postgres for this example

pgGenerate({ schema, out: './db/schema.dbml', relational: true })

#5 seems relevant for the TypeError: column.getSQLType is not a function piece.

Are you also using Drizzle ORM v0.29.0? And are you using any custom columns like the one described in #5?

Yes, drizzle-orm v0.29.0.
Not sure what qualifies as a custom column, I'm using all builtins. There's no custom JSON or anything.

Ah I see. Something must have changed in the latest release then. I'll take a look and hopefully patch this soon.

@L-Mario564 can you publish so we’d be able to install this fix?


[Bug Report] when click sort in table header, the popconfirm won't closed automatically

Element UI version
2.15.6
OS/Browsers version
windows chrome 98.0.4758.102
Vue version
2.6.14
Reproduction Link
https://codepen.io/jefferyho/pen/gOXqobR
Steps to reproduce

click [ action ] > enable, the popconfirm shows
click [name] > sort (desc / asc), the data sorts

What is Expected?
the popconfirm dialog hide automatically when click sort
What is actually happening?
the popconfirm still shows at the old place

when click select, the popconfirm won't closed automatically too.


Windows issue with Run OpenMetadata

I'm using Win10, WSL2, Docker Desktop, Windows Terminal, Ubuntu 20.04.

The logs are repeated 2 times and the dots are interleaved with '/utils'.

New error here while upgrading pip and setuptools.

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org pip setuptools

CC @shannonbradshaw

I tried again and this time I didn't get the pip SSL error. We can ignore it. The only thing left is the messages printed two times.


Allow to disable cache in a task, in config

Expected behaviour:
It would be nice if we would be able to a a no_cache: yes to a task and that would disable cache in that task. Some tasks the cache can make strange results because we my depend on updated results on every single run.
Actual behaviour:
We are able to disable the cache, but for that we need to run the task with --no-cache, that is not possible if we are running the tasks with daemon!
Thank you

People will missuse it and hammer services causing flexget to be blacklisted. That is why it's only available when testing from cli. When are you getting strange results?

Yes I know that people using it on all tasks would be potentially harmful! But who what's to do that no matter what just run all tasks with cron and the --no-cache.
In my case I have a group of tasks that run around once a day that test some assumptions of my configuration, like having all movies of imdb in my lists, and removing from the lists what I remove from imdb, removing movies with incomplete data, basically maintenence tasks! This tasks depend on the state of the lists of imdb and trakt! And the cache can make strange results!
Also, but this I have to confirm, I use the text plug-in to read info from a file! I had some weird results when modifying the file in an task, and read it in the next one! I do this to capture data with the exec, and writing the file to use it with text in the next one! And I was only able to make this work if every task creates a new file name! I assumed that it was a cache problem, but I never tested further to confirm this!

Maybe we could do a plugin that clears/removes cache at specific time(s). It would be cumbersome to use in a harmful way.

Or a plugin that allows me to know that every x hours the cache will be cleared for sure! I would point that tasks to that hours! Like clear cache ever 6 am for example...

I thought FlexGet cache only lasted for 2h such as in
https://github.com/Flexget/Flexget/blob/bf25d23599206df2e8639863aaa0907a05dd0092/flexget/components/trakt/trakt_list.py#L504

Probably yes! But what I was referring is knowing exactly that when a task is running that the data is not cached! 2 hours is very abstract, because I don't know when 2 hours ago was!
I don't care if the cache is 2 hours or 12! I only would like a guaranty that at that given time the values would not be cached! I know I can do a cron to that! But I would like keep things in the daemon!

You can try to use Schedule instead of interval in your Schedules configuration.
https://flexget.com/Plugins/Daemon/scheduler
With this you can specify when tasks run exactly and take the 2 hours of cache into account

That's not a 100% reliable... The task could had been delayed for a number of reasons, queue, lost connections, you name it! That would deviate the 2 hours window!
A plug-in is the most reliable way! At the moment I'm running at request with the --no-cache, but I would like to automate it! My best approach is cron, but I would like to avoid that!

Sorry I don’t fully understand your problem.
If you run your group of task only once a day what is the matter with the 2hours of cache?
Can you describe the high level logic of what you want to achieve?

I run this maintenance tasks once a day! One of the tasks that it does is, if I remove a item from the the imdb list, remove it from the movie list! This is one that had given problems in the past because of cache! Items beings removed because the cache

This is one that had given problems in the past because of cache! Items beings removed because the cache

Can you explain further?
If I breakdown the possibilities when you hit the cache and not the real list:

A)No change to the list, cached version is the same, no impact
B) A movie was added to the list since last update therefore is not present in the cache, this new entry will not be processed
C) B movie was deleted from the list since last update but is still present in the cache, therefore the entry will not be deleted

In conclusion cached could only delay a deletion from Movie List.
Do you have multiples tasks that are modifying the same list?
Can you provide your YAML configuration to further help you?


RFdiffusion

Does this contain the diffusion method for protein generation? or Will the diffusion code be added here recently?
Liguo

@donglg1309 you may have arrived here with a link from the IPD site. It looks like the link under RFDiffusion is mislabeled. If you're looking for RFDiffusion, you may want to look at https://github.com/RosettaCommons/RFDesign

I second @donglg1309's question. It looks like they haven't added either the source code or the data to train or test RFDiffusion.

See here. https://github.com/RosettaCommons/RFdiffusion
Here is something that might interest you: the FoldingDiff repository on GitHub (https://github.com/microsoft/foldingdiff).
As of April 9, 2023, it seems to be the only repository with training code available for the diffusion model.


CMake support

Fixes issue #8
Adds all dependency build in the project, thereby not requiring any dependencies from the user other than CMake and a C++11 compliant compiler.
Needs testing on whatever platform this project was built last. I tried compiling on CentOS7 but failed [ref].
Looking forward to doing some amazing work with this!
Cheers,
Sarthak

I can try building on Arch, Skylake i9 in sometime.

Compiling on WSL:
root@pc:/mnt/c/Testing# lsb_release -a
No LSB modules are available.

May be rebase and update the PR?

@rahulunair: Done!

@Tharun24: done!

Hello, any updates on the merge status?

Hi Sarthak, really sorry for the delayed response. The new commit seems to throw segmentation fault. We are doing the following steps:

cmake CMakeLists.txt
make
make install . Then ./runme SLIDE/Config_file .

I'm I missing something? Can you please re-confirm that it works on your end?

Also, the MAPLEN value in Config.h file has to the output layer size in Config.csv file.

I didn't understand what you mean by this. I am not altering any source code..

@sarthakpati We are working on it :). What @Tharun24 was saying is some diagnosis details why we might fail on running the pull request. We will try to merge it by tonight!

@sarthakpati  Thanks for a great job :)!


Gestures for brightness control disable option

I want to disable gestures for brightness control. Can you help me?

The download model blocks "onBrightnessSlide()"for this DefaultMediaController.class

you can find the way in DefaultMediaController


Hooks

Pull request against camp/101 branch so we can gather changes required for https://github.com/hoodiehq/camp/issues/101 and release them all at once, but still have separate pull requests for simpler review

🛎 ping @hoodiehq/maintainers 👀 this pull request is ready for review


Fix xlf syncing race

This solves a race in the SyncXlf task. Because localization is per project, and because MSBuild uses a Shared directory with shared resources (which is not a project but gets linked in by all the other projects),
each project will try to sync the shared xlf files and crash with concurrent writes.
Short term fix is to disable parallel builds when xlfs are synced. Long term fix would be turning the stuff under Shared into a csproj project.
#1138 depends on this.

The perf loss isn't that much, since MSBuild does not have many projects. This will only happen on dev machines, when somebody wants to update the xlf files and commit the changes.
True, we can also anoint one project to own syncing the shared files. It would mean adding an item remove, conditioned on whether $(AssemblyName) is the special project. Which one do you prefer? With this PR you loose speed when syncing xlf files (should happen only when we want to ping the loc team). With your suggestion, we keep the speed but hardcode an assembly name, so if the name changes at some point, it will add ~30 minutes of debugging to whomever has to investigate and fix :)

Doesn't every official build also sync the xlf files?
I don't have a strong preference; we can go with this way as its already done.

Ah, you're right, the CI does sync the xlf files. Alright, going to do the "special project" approach :)


chore: release main

:robot: I have created a release beep boop
core: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (55ee571)

use: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (55ee571)

monorepo: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (55ee571)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/agufaui/agufaui/releases/tag/core-v0.1.0 :sunflower:


How to remove Emoji in the title?

Hi there!
First off, I want to say how fantastic this plugin is! It has truly improved my workflow and was the primary reason for me switching to Obsidian. Thank you so much for your hard work! 😄
I have a question regarding the customized {{title}}. I'm not very familiar with Nunjucks, and I'm curious to know if there's a way for the plugin to remove emojis from the title.
I've encountered some issues when syncing my files with Box.com. The files with emojis in their titles (e.g. Example title 😄) are causing some trouble during the sync process and are being marked as problem files on MacOS...
Any help is appreciated XD

Try this:
{{ title | replace(r/[^ -\u2122]+ +| *[^ -\u2122]+/,"")}}

Try this:
{{ title | replace(r/[^ -\u2122]+ +| *[^ -\u2122]+/,"")}}

It worked! Thank you so much XD

See above


Failed to build gradle after adding this dependency

Added dependency:
compile 'com.ihongqiqu.util:android-utils:1.0.0'
and repository path:
maven { url  "http://hongqiqu.bintray.com/maven" }
But getting Error:
Error:(139, 13) Failed to resolve: com.ihongqiqu.util:android-utils:1.0.0
Show in Project Structure dialog

Change dependencies to:
compile 'com.ihongqiqu:android-utils:1.0.2'
and repository path:
maven { url  "http://dl.bintray.com/ihongqiqu/maven" }


Support wasm32-wasi-threads

build with wasi-sdk-20.0+threads, missing multithreaded libc++.a so node-addon-api is unavailable in this pre-release version of wasi-sdk.

C++ and node-addon-api tests need to wait https://github.com/WebAssembly/wasi-sdk/pull/301

Locally tested node-addon-api with https://github.com/WebAssembly/wasi-sdk/actions/runs/4266056953#artifacts.

async work / tsfn may throw error in browser main thread due to pthread API use __builtin_wasm_memory_atomic_wait32 internally.

Approach:

User choose a Worker thread as emnapi main thread (like StackBlitz runs Node.js code in seperate Web Workers)
Emnapi provide another async work and tsfn implementation written in pure JavaScript (need further investigation)
Modify wasi-libc's futex_wait with busy wait in browser main thread (less feasible)


Use of Algorithm in LM and "test yourself"

"test yourself" should use our algorithm,  if user answer correct, a word goes up to the next box.
"learning mode" should show words user know at least but do not move words either up or down.
Why?
Because our mission is to help people in learning new languages,  we should in every case predict which word he knows not so well and help him to remember it.

Done


Feature/add disable remove btn prop

Fixes #163
Wasn't able to make tests because of #164

@janosh I'm not sure why the tests are failing, but they were successful earlier... an are always failing locally. Something's fishy

@janosh I changed the name and functionality according to your recommendations :)
Let me know if anything else is missing.
PS: Today is the last day of our Scrum sprint, so hopefully we can get this merged within the day :D

Thanks, great work! 👍 Will be released as v8.1.0 in a few mins.

Thanks for the help with the PR, and the quick release! Cheers 🥂


method request() not work

Hello i was using Laravel 5.0.35 and lfm 1.8.0, but i still get this error

but it was fixed by modifying vendor/unisharp/laravel-filemanager/src/routes.php
and then i got this error

FatalErrorException in LfmHelpers.php line 335:
Call to undefined function Unisharp\Laravelfilemanager\traits\request()

Maybe the helper request() is absent in Laravel 5.0 . We should replace them with Request::input.

@alisyahbana please use laravel-50 branch of this package.


PayPalPaymentsForm renders value in DOM

Hey there,
There's a problem with the button when using {{ form.render }} — the purchase value is editable through the DOM. The amount you want to pay can be changed to anything you want. Most often it's set to 0.01 to buy anything for one penny.

I know this is technically a PayPal problem, but they have other solutions around this that I think should be highlighted more in the docs.

What you are pointing at is true. However, nothing prevents you from adding
a check for the amount when you receive notice of the payment via IPN to
see if the user tried to change this number.
Also, this is addressed in the new js paypal button, in which you call
directly paypal apis to present the button. So the button comes directly
from paypal itself. This is not implemented in django-paypal yet. I created
an issue to start discussing implementation.
https://github.com/spookylukey/django-paypal/issues/221
El dom., 23 feb. 2020 14:26, Kalob Taulien<EMAIL_ADDRESS>escribió:

Hey there,
There's a problem with the button when using {{ form.render }} — the
purchase value is editable through the DOM. The amount you want to pay can
be changed to anything you want. Most often it's set to 0.01 to buy
anything for one penny.
[image: image]
https://user-images.githubusercontent.com/4743971/75116544-bb56df00-5626-11ea-8943-eb6be95b9d43.png
I know this is technically a PayPal problem, but they have other solutions
around this that I think should be highlighted more in the docs.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/spookylukey/django-paypal/issues/224?email_source=notifications&email_token=AALP7QRJG5XAXXAPGC3E43DREKWVVA5CNFSM4KZ4KFX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IPSKHTQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALP7QXNC6SPPER3ET4QDNLREKWVVANCNFSM4KZ4KFXQ
.

There are clear warnings here that you need to check the data received:
https://django-paypal.readthedocs.io/en/stable/standard/ipn.html
For example, under point 5, and in the example code.
Are you looking for something more than that? Perhaps it could be clearer in some way? I'm open to suggestions.

Ah! I didn't know it was a GET form. If so, we don't need to put the form
in the template. We could just have a button that goes to a Django view and
this view redirects to paypal with all the data, without the user being
able to tamper the form.
El lun., 24 feb. 2020 11:05, Luke Plant<EMAIL_ADDRESS>escribió:

There are clear warnings here that you need to check the data received:
https://django-paypal.readthedocs.io/en/stable/standard/ipn.html
For example, under point 5, and in the example code.
Are you looking for something more than that? Perhaps it could be clearer
in some way? I'm open to suggestions.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/spookylukey/django-paypal/issues/224?email_source=notifications&email_token=AALP7QVUZ6Q77XT7EILYPU3REPH4BA5CNFSM4KZ4KFX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMX4XWA#issuecomment-590334936,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALP7QXFBU6DBHO4JK3XWSLREPH4BANCNFSM4KZ4KFXQ
.

If you do a redirect, the user will still be able to tamper with data (they can change the URL you direct them to). The correct way to do it is to ensure the data is what you expect at the end, without assuming you have prevented tampering.
I'm closing this ticket now, thanks.


Version  2.1.0-beta1 merge fail

I have console application project with log4net.dll reference.
My afterbuild target is:
<Target Name="AfterBuild">
    <ItemGroup>
      <MergeAssemblies Include="$(OutputPath)\$(AssemblyName).exe" />
      <MergeAssemblies Include="$(OutputPath)\log4net.dll" />
    </ItemGroup>
    <PropertyGroup>
      <OutputAssembly>$(OutputPath)\$(AssemblyName).exe</OutputAssembly>
      <Merger Condition="('$(OS)' == 'Windows_NT')">"$(SolutionDir)\packages\ILRepack.2.1.0-beta1\tools\ILRepack.exe"</Merger>
      <Merger Condition="('$(OS)' != 'Windows_NT')">mono --runtime=v4.0.30319 "$(SolutionDir)\packages\ILRepack.2.1.0-beta1\tools\ILRepack.exe"</Merger>
    </PropertyGroup>
    <Message Text="MERGING: @(MergeAssemblies->'%(Filename)') into $(OutputAssembly)" Importance="High" />
    <Exec Command="$(Merger) /out:"$(OutputAssembly)" @(MergeAssemblies->'"%(FullPath)"', ' ')" />
  </Target>

Rebuild All: 1 succeeded and i try to run .exe application without log4net.dll and got error:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'log4net, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a' or one of its dependencies. The system cannot find the file specified.   at ilrepacklog4net.Program.Main(String[] args)

But with stable version of ilrepack (2.0.4) it works fine.
What am i doing wrong or version 2.1 s bugged?

@starshayayord We don't have version 2.1. We're just at 2.0.13 https://github.com/gluck/il-repack/blob/master/gradle.properties


Invoices not being auto-generated?

Hi,
It seems when the payment is confirmed the invoice is not automatically generated, can you please confirm if that's the intended behavior?

@viniciusfabri thanks for reporting the issue. We will investigate.

@viniciusfabri We have tested on the specified environment. The order status has successfully passed to the "processing" state and "Invoice" has been successfully generated automatically.
Can you check if “Logging” is enabled in admin panel.
(Admin panel menu -> Stores -> Configuration -> Sales
-> Payment Methods -> EMS Global configuration -> Logging)
And then provide these logs for investigation:
/var/log/ems_ipn.log
/var/log/ems_pay_bancontact.log
/var/log/ems_pay_cc.log
/var/log/ems_pay_ideal.log
/var/log/ems_pay_klarna.log
/var/log/ems_pay_maestro.log
/var/log/ems_pay_masterpass.log
/var/log/ems_pay_paypal.log
/var/log/ems_pay_sofort.log
/var/log/ems_payment.log
/var/log/payment_ems_pay_ideal.log
you can send the information via this email address:
<EMAIL_ADDRESS>

@dligthart sent them to the email, please confirm if you received it

We have received the logs, thank you.

@viniciusfabri The logs show that the IPN request was successful.
In this case, the invoice should be generated automatically.
Most likely, the problem occurs at the stage of invoice creation.
There may be conflicts with other extensions.
And this problem is specific to the store not to the EMS module.
We could check these logs to have a better idea:
var/log/exception.log
var/log/system.log

Hi @dligthart ,
I did see an exception on my exceptions.log file, but that was introduced in magento 2.3.2, and after applying the patch to fix it, I still don't get an invoice generated
The github issue for the exception issue is https://github.com/magento/magento2/issues/23411
After fixing it, I don't have anything in my logs anymore (*.log)
No exceptions, nothing
I'm working on testing this on a vanilla Magento installation, will let you know the results
Out of curiosity, on which Magento version are you testing the module? We are on enterprise 2.3.3

Also, is there an easy way to test the notification locally?

Hi @dligthart ,
Just figured it out: it seems that the "chargeTotal" amount that comes from EMS is a string instead of a numeric type in the JSON, and it comes like this:

'chargetotal' => '281,23',

Notice the comma as the decimal separator. When Magento processes the transaction, and checks if the total amount was paid, it converts the number to a double:
https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Sales/Model/Order/Payment/Operations/RegisterCaptureNotificationOperation.php#L37
And because the string has a comma instead of a dot, 281,83 becomes 281,00, therefore the total amount is not paid, and the invoice is not generated

@viniciusfabri thanks for reporting the findings and the issue regarding the comma as a decimal separator, we are going to look into this.


Nuget Download Error

I tried to download your code from Nuget and I got this error
Unable to resolve dependency 'SixLabors.ImageSharp'. Source(s) used: 'nuget.org', 'Microsoft Visual Studio Offline Packages'.

Hey @airmikec, I got a report for a similar issue on #46 , could you read it over and come back and let me know what's going on for yours?  What Nuget version of ESCPOS_NET are you trying to install, and what version of .NET/.NET Core are you using?

Thank you for the quick response.  Here is more details:
NUGET Version : 1.2.0
Initial .NET Version : 4.6
I changed the project to .NET Version : 4.7 and 4.8
I still get the error. I also read issue #46 and it didn't really help much. All that I see is someone had the same error you fixed it and that is what published for version 1.2.0. Is it possible that there is not proper binding to SixLabors.ImageSharp?

@airmikec Looks like there were 2 issues with older .net apps, the first one was fixed with 1.2 but the other is because SixLabors.ImageSharp is still a prerelease package.
I apologize for the issues, you are not supposed to take dependencies on prerelease packages, but unfortunately this is the library that this lib currently depends on for image manipulation.  In the future, we could port it to System.Drawing, but ESCPOS_NET was started when that version did not exist for .net core.
I reached out to SixLabors several months ago asking them to promote their package to a production version - it is already been downloaded 5 million times!  They still haven't done so, so unfortunately you have to enable prerelease packages to be able to install it. Check the Include prerelease and it should work.

Sorry. Checking pre-release did not work. I attached an image to this so that you can see what I have done.

So it occurred to me that you said something about pre-release and the software was in pre-release. So I actually downloaded SixLabors.ImageSharp and then I installed your product and that did work.  So now I got it working.

@airmikec I tried this earlier today and it does seem like the dependencies are not resolving properly.  You can still use nuget and just install SixLabors.ImageSharp directly and then install ESCPOS_NET and it will work fine, but I'm not sure why it's not resolving the packages correctly.

Did that.. we are good to go.. Thank you.. :D


Add DAC API Documentation

Resolves #776
Resolves #843
Resolves #839

Coverage decreased (-0.1%) to 77.435% when pulling 0a6c06ec6788ecc76cf70d5abe15e77f1e0427c8 on dac-api into 609cc2e1a3b3d4808f5d00e37d7693dfebc0021b on master.


Please add example to authenticate using application key, and api key

Note:
If you have a feature request, you should contact support so the request can be properly tracked.
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
It is not clear how I authenticate the golang api client with datadog.
To save time please add an example of how to authenticate.
I read from some site and trying to export various attempt the env var without success.  The java api sdk has some example about authentication though, but not golang.
Describe alternatives you've considered
Additional context
Add any other context or screenshots about the feature request here.

Hi,
The getting started doc has an example which should cover it. Here's the section containing the authentication:
    ctx := context.WithValue(
        context.Background(),
        datadog.ContextAPIKeys,
        map[string]datadog.APIKey{
            "apiKeyAuth": {
                Key: os.Getenv("DD_CLIENT_API_KEY"),
            },
            "appKeyAuth": {
                Key: os.Getenv("DD_CLIENT_APP_KEY"),
            },
        },
    )
```.

Sorry I just found in the doc, let me try, thanks for your response and my apologies for mis-read.


Set Countdown Date And Time Not Updating

The date and time displayed on the form do not automatically update, leading to a discrepancy with the actual current time. Similar to a previous issue at the today page.

The default behaviour of the form used to create a countdown should be to show the current date and time of the user.
That date and time should not automatically updated since the user should be setting their own date and time. The user is expected to set a date and time, ideally some time in the future.
So I don't think it should auto update.

On the current behaviour, clicking submit without setting a countdown will create a countdown that will immediately elapse, which is not so useful. That might be an issue to be dealt with later.

Thank you sir! That is indeed an oversight on my part


Azure SDK Review - [IC3 ACS Calling]

New SDK Review meeting has been requested.
Service Name: IC3 ACS Calling
Review Created By: Bob Gao
Review Date: 11/26/2024 02:05 PM PT
Release Plan:
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links: Android, iOS, .NET,
Description: ACS calling native SDK Dec release review
Detailed meeting information and documents provided can be accessed here

Calling SDKs
Android
2.13.0
iOS
2.15.0
Windows
1.11.0


Add Date & Time Picker Support

Many developers & designers like me, try to use date and time pickers in their projects. Therefore, we always need to include separate JS and CSS for the pickers. So I am thinking if it is already attached as a component in Bootstrap like in UI-Kit it will be very useful for the developers & designers.
If it's already requested by someone please ignore this feature request.

Duplicate of #445.
Available third-party libraries for this include https://github.com/eternicode/bootstrap-datepicker

Maybe it's worth mentioning about that date picker at official website?


Test multiple connections

Test that multiple BLE connections work (connecting to two BLE devices or more at the same time).
Suggest to use 'Dialog Semiconductor IoT Sensor' example app as a starting point, this app has been requested to be extended for connecting to two devices.

Hello here too. First of all, i really enjoy u found that matter interesting! To be honest, i was expecting 'dialog semiconductors' to have a ready solution for multiple connections since it's 'internet of things'..
Anyway, i understand you don't have the modules to trial and error but seems you're java/iot expert!
I think that 3 things play major role here: 'device', 'address' and 'iotsensor'.
In easyble.js there's 		var device = deviceObject;  //line 497
In app.js interesting lines seem to be:
99-150 (	app.onScanButton = function()  )
app.onConnectButton = function(address)  )
function addDeviceToView(device)
function displayDeviceList()

@InventorSector Hi, I think that for the Dialog IoT Sensor library, you could try to create two instances of the sensor object. You should not have to change anything in easyble.js.
Here is a sketch of how app.js (this file https://github.com/evothings/evothings-examples/blob/master/examples/dialog-iotsensor/app/js/app.js) could be modified to work with two instances of the sensor object:
var app = {};

(function(){

	// Load script used by this file.
	evothings.loadScript('js/charts.js');

	var iotsensor1 = null;
	var iotsensor2 = null;
	var scanTime = 10;
	var devices = {};

	/* First function called, resets location to the scanning screen,			*/
	/* initializes the settings, creates an iotsensor.SFL object, starts		*/
	/*  scanning for IoT devices, and sets all callback functions.				*/
	app.initialize = function()
	{
		initializeSettings();

		app.initializeSensor1()

		app.initializeSensor2()

		setEventHandlers();
		initSensorFunctions();
		initSensorButtons();

		// Start scanning for iotsensor1.
		app.onScanButton();

		// TODO: When iotsensor1 has connected start scanning for iotsensor2.
	}

	app.initializeSensor1 = function()
	{
		iotsensor1 = evothings.iotsensor.createInstance(
			evothings.iotsensor.SFL);

		iotsensor1
			.accelerometerCallback(ui.showSensorView)
			.gyroscopeCallback(ui.showSensorView)
			.magnetometerCallback(ui.showSensorView)
			.barometerCallback(ui.showSensorView)
			.temperatureCallback(ui.showSensorView)
			.humidityCallback(ui.showSensorView)
			.sflCallback(ui.showSensorView)
			.errorCallback(connectionError);
	}

	app.initializeSensor2 = function()
	{
		iotsensor2 = evothings.iotsensor.createInstance(
			evothings.iotsensor.SFL);

		iotsensor2
			.accelerometerCallback(ui.showSensorView)
			.gyroscopeCallback(ui.showSensorView)
			.magnetometerCallback(ui.showSensorView)
			.barometerCallback(ui.showSensorView)
			.temperatureCallback(ui.showSensorView)
			.humidityCallback(ui.showSensorView)
			.sflCallback(ui.showSensorView)
			.errorCallback(connectionError);
	}
...

The code in app.js would then have to be adapted to work with the two sensor instances iotsensor1 and iotsensor2.
This example is a bit special since it uses a high-level library for scanning and connecting to the Dialog Sensor Tags. Possible the library will have to be modified to work with multiple connections.
Connecting to multiple BLE devices using easyble.js directly is another use case that also should be tested.

Hey, thanx a lot.
I'm working on it trying to figure out how it could work.. still connects to only ONe.
I'm afraid that what we're searching here is the connection of device to address (i can read each module's address)and try to seperate them and connect to them like device1 and device 2, or simply have a global device term and try to connect to each address..
iotsensor.connectToDevice(
devices[address]..
I think it means that from the 'devices' list, it connects the 'address' linked to the connect button that was pressed with the app.
Anyway i'm still trying to work on your way, but i'm afraid that maybe 'device' and 'address' could be the key..

@InventorSector
The Dialog IoT Sensor App is not designed to connect to multiple IoT Sensors, as mentioned on Gitter.im.
You can build your own app using the Dialog IoT Sensor Library when following the starter-guide. You need two iotsensor objects as mentioned by @mikaelkindborg.
After initializing the objects you can use the connectoClosestSensor function in the library on each object. This function automatically connects to the closest IoT Sensor in the area. When using this function twice you can connect to each sensor like so:
	iotsensor1.connectToClosestSensor(
		7500, // Scan for 7500 ms
		function()
		{
			console.log("Connected to IoT Sensor 1");
		},
		function(error)
		{
			console.log('Disconnect error ' + error);
		}
	);

And for iotsensor2:
	iotsensor2.connectToClosestSensor(
		7500, // Scan for 7500 ms
		function()
		{
			console.log("Connected to IoT Sensor 2");
		},
		function(error)
		{
			console.log('Disconnect error ' + error);
		}
	);

However, this involves you creating your own application. Please follow the starter-guide and then try to expand it so you can connect to two IoT Sensors.
Also, this repo is not the right place for this issue. Maybe we can move it to https://github.com/evothings/evothings-libraries @mikaelkindborg ?

@InventorSector What I was thinking is that if you connect to the first IoT Sensor found, then wait a little, and connect to the second one found, than you are connected to both of them.
Now I just saw that @nbezembinder1 wrote an answer, thanks very much!
I guess you could also scan for devices yourself, in the app (not modifying the library code), and connect to devices.
Here is some "pseudocode" for that:
var sensorOneIsConnected = false
var sensorTwoIsConnected = false

...

evothings.easyble.startScan(
	function(device)
	{
		// Is it an IoT Sensor? (Here you can write your own version of
		// isIoTSensor if you have specific requirements).
		if (isIoTSensor(device)) {
			if (!sensorOneIsConnected) {
				iotsensor1.connectToDevice(device, ...)
				sensorOneIsConnected = true
			}
			else if (!sensorTwoIsConnected) {
				iotsensor1.connectToDevice(device, ...)
				sensorTwoIsConnected = true
			}
		}
	},
	function(error)
	{
		...
	});

Does the above make sense?

@nbezembinder1 I think we will have to live with the issue in this repo, as far as I know there is no easy way to move issues. I guess I could create an issue in evothings-libraries or evothings-examples and point to this info, to make the connection clear.

@mikaelkindborg
Above is correct but I believe @InventorSector is only interested in reading and logging sensor data and this does not require the entire app. If you check the starter-guide on Evothings' website and scroll to the bottom you can see app.js for the guide which is only 58 lines of code, if you expand this you can easily add a second iotsensor object.

@nbezembinder1 Thanks a lot, great guide!

I am closing this issue since it does not really belong in the cordova-ble repository. Please open an issue in https://github.com/evothings/evothings-examples or https://github.com/evothings/evothings-libraries for further questions/issues related to the Dialog IoT Sensor library/example apps.

@nbezembinder1   @mikaelkindborg
Guys sorry for being away, i was abroad for work and now i'm back!
I can see i've spiked your interest and of course many many thanx for your precious help!
It still seems really bizarre and frustrating that it's so difficult to connect more than 1 device in an IOT app..  I'm starting an issue in  https://github.com/evothings/evothings-examples  and I'm now trying to implement your proposals, thanx again!!!


Question: What the best way architectural pattern to structure handlers to allow unit testing of business logic

We used MediatR in a couple of simple apps with EF. We are about to embark on a much bigger more complex app and it's not using EF.
Back in the day we would mock out the repository to allow us to test our business logic, we've got back control of our data access now using MediaR but we side-stepped the unit test question by using effort previously.
How have others have structured their MediatR request handlers to allow them to unit test their business logic ?
Should we consider the handler a replacement of the repository pattern and therefore place business logic outside of the handler ?

If you want to unit test business logic push the business logic into your
domain objects. Integration test MediatR handlers, unit testing them is
probably a waste.
On Monday, August 8, 2016, John Kattenhorn<EMAIL_ADDRESS>wrote:

We used MediatR in a couple of simple apps with EF. We are about to embark
on a much bigger more complex app and it's not using EF.
Back in the day we would mock out the repository to allow us to test our
business logic, we've got back control of our data access now using MediaR
but we side-stepped the unit test question by using effort previously.
How have others have structured their MediatR request handlers to allow
them to unit test their business logic ?
Should we consider the handler a replacement of the repository pattern and
therefore place business logic outside of the handler ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jbogard/MediatR/issues/92, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGYMjnRcO-QOP_bwNhhgKC48sPGYkQCks5qdyhDgaJpZM4JfBGM
.

Hey @jbogard, thanks for the response.
I see how that this might work for CRUD operations but say I have a request handler that is doing a complex employee balancing calculation which returns a result that is passed into other handlers how should I test this ?
It doesn't belong to any single domain object as it uses a bunch of domain objects together to come to an answer.
I was to do as you suggest I'd add end with a pretty slow integration test would I not, If I got it right I'd have to create and seed a real database, run the tests against the handler and then I'd I guess I clean down the database or re-set it's state.
Or am I missing something / change my way of thinking ?

It sounds like you are talking about a saga. I was wondering how to implement this myself.

Create a service then, and delegate to that. Once inside your handler, the normal DDD rules can apply. Push behavior down to domain objects, create services to coordinate between entities.
I just don't create repositories solely to unit test. Instead I push behavior down to services that don't take those dependencies in the first place.

Services - ok I see, so anything which needs to span multiple objects has a coordinating service which is easily unit tested as I can mock out the dependant objects.
Back to your integration test point, I sort of like it as nothing beat a real end to end test but I have questions:

We use a lot of MS Azure Services (for example documentDb) which don't have local emulators (they are coming apparently), this means that local testing for our devs is challenging and we will end up coming up with some kind of setup test which passes in their own connection details + their is CI to consider. In the bad old repository days we would mock out the repo and run it all from memory.

Integration Setup and Clean Up - I'm worried about the time and structure of the tests to balance the need for clean state for each test vs. time taken to setup and clean up the test artifacts.

Do you have a pattern you follow ? What do your test projects look like ?
For example do you have a test assembly per domain object with say setup of dependent state for the tests inside the setup method and the clear down ?
Sorry for all the questions, just trying to drain your brain before I get going with the new project :-)

I blogged about this: https://lostechies.com/jimmybogard/2016/12/12/dealing-with-duplication-in-mediatr-handlers/


Checkbox : how to ?

I am embarrassed for this form field because to apply Bootstrap styles there are 3 elements with dedicated classes:

    <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">

         Default checkbox

So I can't just extend the Blade UI Kit Checkbox component.
I think I'm going to have to create components specific to this package. But we are going to lose granularity.

Same concerns for Bootstrap 4:

    <input type="checkbox" class="custom-control-input" id="customCheck1">
    Check this custom checkbox

Maybe we need to add a "x-form-group" component.