Losing macros when editing KeyPress field

So, after the last update some hours ago, I've just lose my macros, and by that, I mean that the version tab is just blank, there isn't the edit fields anymore.
I've spent like an hour now trying to understand what was causing that, and noticed that it happens every time that I use the field Keypress, when keep that empty, it is possible to keep using macros and editing them, but the ones that I was using perfectly until last night, is no longer working.

Just out of curiosity - what Language are you playing in?
-- TimothyLuke
On Thu, Jan 12, 2017 at 7:42 PM, manoelbgn<EMAIL_ADDRESS>wrote:

So, after the last update some hours ago, I've just lose my macros, and by
that, I mean that the version tab is just blank, there isn't the edit
fields anymore.
I've spent like an hour now trying to understand what was causing that,
and noticed that it happens every time that I use the field Keypress, when
keep that empty, it is possible to keep using macros and editing them, but
the ones that I was using perfectly until last night, is no longer working.
[image: wowscrnshot_011217_061106]
https://cloud.githubusercontent.com/assets/19255406/21883462/0ec1c020-d88e-11e6-91aa-bbbefa69cc90.jpg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/TimothyLuke/GnomeSequencer-Enhanced/issues/172, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAjBFXQEPOoAdeVfd7f3A-C7XQVYjCMmks5rRe50gaJpZM4LhhSL
.

I'm playing in PT-br.

Well, just for curiosity, I've changed the game lang to English, wiped everything related to GSE from wow files (WTF, Interface) and I have also uninstalled GSE, and them installed again, open the game in english and it has the same behaviour.
When I just input something on Sequence and save, it is just fine, but, if I insert anything on KeyPress field, the "bug" happens. And it is some kind of side effect I think. Anyway, follow another print form my last try. If there is anything I can do to help you fix it, let me now.

Im in a board meeting for Prison ministry - once this is complete I will be
able to look directly at it.
On Thu, Jan 12, 2017 at 8:26 PM, manoelbgn<EMAIL_ADDRESS>wrote:

Well, just for curiosity, I've changed the game lang to English, wiped
everything related to GSE from wow files (WTF, Interface) and I have also
uninstalled GSE, and them installed again, open the game in english and it
has the same behaviour.
When I just input something on Sequence and save, it is just fine, but, if
I insert anything on KeyPress field, the "bug" happens. And it is some kind
of side effect I think. Anyway, follow another print form my last try. If
there is anything I can do to help you fix it, let me now.
[image: wowscrnshot_011217_065055]
https://cloud.githubusercontent.com/assets/19255406/21884944/3eeeb8a6-d894-11e6-9064-b57ce4e4a4ef.jpg
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/TimothyLuke/GnomeSequencer-Enhanced/issues/172#issuecomment-272121416,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjBFbEuYNDl3puL_uYF_-DIw-MNgAOOks5rRfjXgaJpZM4LhhSL
.

I may have fixed this as part of #173

Can you try this with the latest update?  I cant cause it but want to be sure.

Sure I can. Right now I'm on my office, but I'll download and try the last version available as soon as I get in home and I will let you know the results.
I would like to really thank for all you effort on solving all the issue that are poping up all day here.

Well, I finally get home and test the fixes... Such an amazing job. It's working wonderfully well :D really thanks


Add support for OpenIndiana

In OpenIndiana (open source Solarish operating system), we are using vagrant for development purposes. It would be nice if this great plugin supported autoupdating guest additions. I will see what I can come up with in the upcoming days.

Thanks! May I suggest you look into realeasing as a separate gem/plugin. For an example, check out https://github.com/fnordfish/vagrant-vbguest-centos


Update UG

Codecov Report

Merging #305 (8b8461f) into master (6198082) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #305   +/-   ##
=========================================
  Coverage     76.52%   76.52%
  Complexity     1125     1125
=========================================
  Files           147      147
  Lines          3348     3348
  Branches        360      360
=========================================
  Hits           2562     2562
  Misses          666      666
  Partials        120      120

Continue to review full report at Codecov.

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


systemd-resolved compatibility?

Are there plans to support systemd-resolved?
Sorry, I am not too knowledgeable in this realm, but from some googling, it seems that systemd-resolved is supposed to supplant resolvconf and while the two can coexist, there might be issues.
Thoughts?

Hi @dpantel,
The man page for systemd-resolved says:

To improve compatibility, /etc/resolv.conf is read in order to discover configured system DNS servers, but only if it is not a symlink to /run/systemd/resolve/stub-resolv.conf, /usr/lib/systemd/resolv.conf or /run/systemd/resolve/resolv.conf (see below).

(section /ETC/RESOLV.CONF at the bottom goes into more detail)
So systemd-resolved can be used with vpnfailsafe. I'll close this issue, since there's nothing to fix, but if you run into a specific problem, feel free to open a new one.

I think it’s more fair to say that vpnfailsafe might coexist and possibly not break systemd-resolvd, not that it actually works with it.
My question was whether you will switch from openresolv/resolvconf to systemd-resolvd, and it seems that the answer is “no”.
Thank you for the scripts anyway. It has been helpful as a guide.

If you install systemd-resolvconf it creates a symlink at /usr/bin/resolvconf so this script should still work. (That is assuming the systemd implementation works the same)
Have you tried it?

Interesting point. I don’t remember if I’ve tried it. I’ll give it a go.

@dpantel I can't see a reason to switch from openresolv to something systemd-specific. man systemd-resolved says that if /etc/resolv.conf is a regular file, it is read by systemd-resolved to discover DNS servers and it can be managed by tools/services predating (or just not explicitly supporting) systemd.
I'm not familiar with systemd-resolvconf, but that sounds like another option.


Final Korean I10n work for release-1.13

This PR is Final Korean I10n work for release-1.13.
Change List

ko: Fix nav-menu sync in tutorials/statefulset #13374 (#13469)

ko: add outdated files in dev-1.13-ko.9 branch (#13464)

Co-authored-by: Yoon<EMAIL_ADDRESS>Co-authored-by:	Claudia J. Kang<EMAIL_ADDRESS>

/assign @gochist

/lgtm
/approve
@ClaudiaJKang 감사합니다!


Fix for query string return true for param with equal sign on the end

When parameter value ends with  '==' or '=' (base64 encoded value) it returns true instead of the actual value
Example
http://localhost:9000#/?AccessCode=60CF38Ey7v2Q1rN295O4BdmiAJs3t1PFXvSFBBySNcCd2a6lbQy9gXn6MfjC5iuK6ZrA3nwcP3TjdtVo1AjgvBRhkaIQKK4_w5mkxPhVkZcRkkWgApxsXq5t1P_Q3-Le1WI17zpvQEX28hylrLM1x6n9U0g==
Actual
Access Code = true
Expected
Access Code = 60CF38Ey7v2Q1rN295O4BdmiAJs3t1PFXvSFBBySNcCd2a6lbQy9gXn6MfjC5iuK6ZrA3nwcP3TjdtVo1AjgvBRhkaIQKK4_w5mkxPhVkZcRkkWgApxsXq5t1P_Q3-Le1WI17zpvQEX28hylrLM1x6n9U0g
(without the equal signs)

@praga Can you add a unit test to verify this behavior? If so, and all the other tests are passing, I don't see why we can't merge this and release immediately.

@EisenbergEffect I have added some unit tests to verify it. I'm new two github and commits, hope you received the new request.

Excellent. Thank you! I'll do a thorough review in the morning and push out a release shortly.

@praga  Thank you for contributing this pull request! We're truly excited and honored to have you as a member of our community. We look forward to working together with you to further build the Aurelia platform.
We noticed that you haven't yet signed our CLA. We would appreciate it if you would consider doing that for us. Before signing, please take a few minutes to read our contributing guidelines. These guidelines will help get you up to speed on how our community likes to operate and how the pull request process works. Once you have read that, assuming you are in agreement, simply sign our online CLA.
After you've signed, please ping this issue to let us know and we'll get your improvements merged in.
Thank you again!
The Aurelia Team

Thanks Rob, just filled the form.

Hi Rob,
Any update on making it to the release branch.
Regards,
Praga

Yes, I'll commit to getting it in tomorrow. Some schedule things came up yesterday and today where we needed to re-prioritize.

Thanks for the prompt update.
Cheers.

I thought I'd add that there is a specific base64 alphabet that is supposed to be used for URI encoding specified in RFC4848 and if you use an implementation that supports this alphabet (like ruby) you can see that the string does not include the == padding characters.
That said, not everyone out there is aware of this so you might get a redirect from another service that sends an improperly encoded base64 string.

@cehoffman Thats exactly our issue is, we use eWay payment gateway and their redirect url append  improperly encoded base64 string to the url.

Hang in there. Fix is coming soon.


feat(compile): Add macro variables for jobs

Issue
Closes #861
Intent
Should add macro variables while sasjs compile for jobs.
Implementation
Added similar functionality to jobs for having job variables
For example:

Job Variables start;

%let macrovar=macro value;
%let macrovar2=macro value2;

Job Variables end;

Updated getVars function as well.
Checks

[x] Code is formatted correctly (npm run lint:fix).

[x] Any new functionality has been unit tested.
[x] All unit tests are passing (npm test).
[x] All CI checks are green.
[ ] JSDoc comments have been added or updated.
[x] Reviewer is assigned.

@all-contributors please add @saadjutt01  for code


Raven dates offset

It would seem that Raven applies an offset to data in some instances, taking one day before the desired date when reading from a netcdf file.
@huard has encountered this, perhaps more details would help pinpoint the issue.

Not sure about this one in particular, but a good place to discuss this kind of issue is the Raven Slack, with Julie and the others.

Possible, I just wanted to leave a trace somewhere so we don't let it slip!

To be clear, the offset is between the input forcing files and the output data saved by RavenC. An input marked with datetime x ends up being saved as an output with datetime x+1 day. This is not related to RavenPy, but to Raven itself, so not sure we want to keep this open here.


Camp Harmony report: campers who owe us money

Can you format this in columns so it's easier to copy and paste
Last name, first name               email address                                 amount owed

Let me know if this works: https://harmonyreg.sffmc.org/admin/organization/1/event/1/reports?reportId=5

Yes! Thanks.


[WIP] Add swiftlint and fix some of the lint warnings

Current coverage is 98.74% (diff: 93.75%)

Merging #107 into master will decrease coverage by 0.41%

@@             master       #107   diff @@
==========================================
  Files            10         10
  Lines           477        478     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            473        472     -1
- Misses            4          6     +2
  Partials          0          0

Powered by Codecov. Last update 86698f0...63cb359

Neat! 👍


'rust_backend' not found

I'm very interested in trying new music software, as a lot of available are not for me.
I'm not able to run this yet though, as I get the following error:

I also had to update the cpal dependancy as the current one could not compile on my machine.

Actually, looking through the error myself a bit, seems like it expects a debug build from that file path? Doing so gives me a different result:

got the program running by replacing "settings.audio.default_host" with string "default" in main.lua/audioSetup(). Seems like you are passing in an unset mutable value, like how settings.audio.default_device is, but this one is expected to be already set to "default" or a device name? Idk it works now though

There is a global 'release' flag on top of main.lua that determines whether it loads the debug or release build.
Second issue I have no idea what's happening, since those variables should always be set in the handler:
https://github.com/Sin-tel/tessera/blob/master/lua/settings_handler.lua#L24-L25
Doing the audiosetup correctly is quite finicky to be honest, I really need to get it more robust and do some kind of device polling.
Thanks for testing it out! I'm actually surprised you managed to get it running seeing that it's not anywhere near production right now.

I added some instructions in dcafd8d25bfafa17b70f9cac223f603626d968b2 which should help people with their setup.

Thanks for testing it out! I'm actually surprised you managed to get it running seeing that it's not anywhere near production right now.

you're welcome! I love seeing new ways of making electronic audio, it was fun to fiddle around with it.


Ambiguous associated item lint triggered when an enum member is named 'Error'

On rustc 1.81.0-nightly (ed7e35f34 2024-07-06) the following code will trigger the ambiguous_associated_items warning:
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SeverityNumber {
    Error = 1,
}

The issue appears to be the generated TryFrom impl:
impl ::core::convert::TryFrom<i32> for SeverityNumber {
    type Error = ::prost::UnknownEnumValue;
    fn try_from(value: i32) -> ::core::result::Result<SeverityNumber, Self::Error> {
        match value {
            1 => ::core::result::Result::Ok(SeverityNumber::Error),
            _ => ::core::result::Result::Err(::prost::UnknownEnumValue(value)),
        }
    }
}

It needs to disambiguate Self::Error:
impl ::core::convert::TryFrom<i32> for SeverityNumber {
    type Error = ::prost::UnknownEnumValue;
    fn try_from(value: i32) -> ::core::result::Result<SeverityNumber, <Self as ::core::convert::TryFrom<i32>>::Error> {
        match value {
            1 => ::core::result::Result::Ok(SeverityNumber::Error),
            _ => ::core::result::Result::Err(::prost::UnknownEnumValue(value)),
        }
    }
}

I am running on rustc 1.79.0 (129f3b996 2024-06-10) and having the same issue. Enum in .proto is translated to variant named "Error":
  enum ServiceState {
    SERVICE_STATE_UNSPECIFIED = 0;
    SERVICE_STATE_OK = 1;
    SERVICE_STATE_ERROR = 2;
    SERVICE_STATE_UNAVAILABLE = 3;
  };

which causes
error: ambiguous associated item
   --> ...\baselink\target\debug\build\baselink-api-ceef83970166d2b6\out/baselink.rs:50:9
    |
50  |         ::prost::Enumeration
    |         ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = note: for more information, see issue #57644 <https://github.com/rust-lang/rust/issues/57644>
note: `Error` could refer to the variant defined here
   --> ...\baselink\target\debug\build\baselink-api-ceef83970166d2b6\out/baselink.rs:56:9
    |
56  |         Error = 2,
    |         ^^^^^
note: `Error` could also refer to the associated type defined here
   --> ...\toolchains\stable-x86_64-pc-windows-gnu\lib/rustlib/src/rust\library\core\src\convert\mod.rs:682:5
    |
682 |     type Error;
    |     ^^^^^^^^^^
    = note: `#[deny(ambiguous_associated_items)]` on by default
    = note: this error originates in the derive macro `::prost::Enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)

Interestingly even though the warning states that it will become a hard error in the future, it already is a hard error

It seems the generated code uses Self::Error to refer to ::prost::UnknownEnumValue and the term Error is not unique when an enum variant is called Error. I suggest to yank version 0.13.0 and I will create a fix for 0.13.1.

0.13.0 is yanked, and 0.13.1 is on the way.

0.13.1 has been published, thanks for reporting the issue.

0.13.1 has been published, thanks for reporting the issue.

It works perfectly with 0.13.1. Thanks for fixing it quickly :heart:!

Can also confirm, works with 0.13.1. You are awesome :)


Read/Write classes with an Array[Byte] field

Support for field of type Array[Byte] was missing.
Note: Still some implicits resolution issues when the field is optional (i.e. not wrapped into an Option)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a4b4be4). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master       #4   +/-   ##
=========================================
  Coverage          ?   98.92%
=========================================
  Files             ?        5
  Lines             ?      186
  Branches          ?        1
=========================================
  Hits              ?      184
  Misses            ?        2
  Partials          ?        0

Impacted Files
Coverage Δ

src/main/scala/pbdirect/PBWriter.scala
96.66% <100%> (ø)

Continue to review full report at Codecov.

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


Add polar extension

Description
Implements View Recent Orders and View Subscriptoins commands for displaying orders and subscriptions on Polar.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Could you add at least one screenshot of the extension in the metadata folder 🙂

@pernielsentikaer Sure! Will do that right away!

@pernielsentikaer I'm running into issues when trying to pull contributors before publishing. Any advice on how to proceed?

@pernielsentikaer Screenshots added ✅


Visual Studio 2022 - errors

This issue has been moved from a ticket on Developer Community.

[severity:It's more difficult to complete my work]
Ther seems very little point in showing links to error details within Visual Studio if the link takes you to a 'Not Found' page or a 'Sorry, we don't have specifics on this C# error' page - eg CS1983.  This is just one example there have been several in the last few days.  This makes life very difficult when you are trying to get to grips with a new language and new concepts.  This particular error cropped up during the development of an Web API,

Original Comments
Feedback Bot on 4/13/2022, 09:38 AM:
(private comment, text removed)

Original Solutions
(no solutions)

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

ID: bbb051ee-f020-66ba-c601-4a08ad32ef61
Version Independent ID: 58a19505-ac46-c5c8-12cc-fe87b6aa18a7
Content: Sorry, we don't have specifics on this C# error
Content Source: docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@BillWagner FYI

closing and opening to run the label updates.

Fixed in #31182


Running spotless seems to do a full build

This is evident on slow machines. When running spotless you see in the statusbar "Configure project" etc.

It is a full build in that spotlessApply -PspotlessIdeHook will have to configure some tasks in the gradle project.  This has gotten much faster in recent Gradle releases thanks to configuration-avoidance becoming more widespread.  If the project makes full use of config-avoidance, it should be close to instantaneous.  Spotless does a better job of this post 5.0 (released 2020-07-12).
One speedup you could try for multi-module projects is:

instead of calling spotlessApply
look up the directory tree until you find subproject/build.gradle
now call :subproject:spotlessApply :spotlessApply -PspotlessIdeblahblahblah

or possibly just :spotlessApply -PspoltessIdeblah if the file happens to not be in a subproject

By specifying that you only want to run the subproject spotlessApply and its parent(s), this allows Gradle to skip configuration of every other subproject.  There's no way for Spotless to do that optimization internally unfortunately - we don't get called until Gradle has finished configuring, so only you can limit the scope of that configuration.
Another avenue of speed up is the new "configuration cache" introduced in 6.6, which will make things much faster yet again.  Here's the tracking issue for supporting that in Spotless https://github.com/diffplug/spotless/issues/644  I don't believe any change in this VS Code integration would be required to take advantage of that once it is complete.  However, I don't expect it to be complete anytime soon, and I think it might not be possible to combine "configuration cache" with any command-line flags, so it's less promising than limiting which subprojects get configured.

I think we (spotless) can make the root :spotlessApply -PspotlessIdeblahblahblah task smart enough to dynamically configure only the required subprojects.  https://github.com/diffplug/spotless/issues/623 needs the same thing, so I'll use that as the tracking issue.

Thanks for the info! (And sorry for the delayed response.) I'm going to do some digging to spot any optimisations. The "full build" part could potentially be an issue with the vscode gradle tasks extension, which i need to investigate, but I'll also have a look at your suggested approach, as I am curious.

With a multi-project build, running the root task:
spotlessApply -PspotlessIdeHookUseStdIn -PspotlessIdeHookUseStdOut -PspotlessIdeHook=/Users/richardwillis/Projects/badsyntax/vscode-gradle-fork/gradle-server/src/main/java/com/github/badsyntax/gradle/ByteBufferOutputStream.java --quiet

Shows these logs:
Configure project : started
Configure project : succeeded
Configure project :extension started
Configure project :extension succeeded
Configure project :gradle-server started
Configure project :gradle-server succeeded
Configure project :npm-package started
Configure project :npm-package succeeded
Task :spotlessApply started
Task :spotlessApply UP-TO-DATE
Task :extension:spotlessApply started
Task :extension:spotlessApply UP-TO-DATE
Task :spotlessInternalRegisterDependencies started
Task :spotlessInternalRegisterDependencies UP-TO-DATE
Task :gradle-server:spotlessJava started
Task :gradle-server:spotlessJava skipped
Task :gradle-server:spotlessJavaApply started
Task :gradle-server:spotlessJavaApply skipped
Task :gradle-server:spotlessApply started
Task :gradle-server:spotlessApply SUCCESS
Task :npm-package:spotlessApply started
Task :npm-package:spotlessApply UP-TO-DATE

With a multi-project build, running the sub-project task and the root task:
:gradle-server:spotlessApply :spotlessApply -PspotlessIdeHookUseStdIn -PspotlessIdeHookUseStdOut -PspotlessIdeHook=/Users/richardwillis/Projects/badsyntax/vscode-gradle-fork/gradle-server/src/main/java/com/github/badsyntax/gradle/ByteBufferOutputStream.java --quiet

Shows these logs:
Configure project : started
Configure project : succeeded
Configure project :extension started
Configure project :extension succeeded
Configure project :gradle-server started
Configure project :gradle-server succeeded
Configure project :npm-package started
Configure project :npm-package succeeded
Task :spotlessInternalRegisterDependencies started
Task :spotlessInternalRegisterDependencies UP-TO-DATE
Task :gradle-server:spotlessJava started
Task :gradle-server:spotlessJava skipped
Task :gradle-server:spotlessJavaApply started
Task :gradle-server:spotlessJavaApply skipped
Task :gradle-server:spotlessApply started
Task :gradle-server:spotlessApply SUCCESS
Task :spotlessApply started
Task :spotlessApply UP-TO-DATE

With a multi-project build, running just the sub-project task:
:gradle-server:spotlessApply -PspotlessIdeHookUseStdIn -PspotlessIdeHookUseStdOut -PspotlessIdeHook=/Users/richardwillis/Projects/badsyntax/vscode-gradle-fork/gradle-server/src/main/java/com/github/badsyntax/gradle/ByteBufferOutputStream.java --quiet

Shows these logs:
Configure project : started
Configure project : succeeded
Configure project :extension started
Configure project :extension succeeded
Configure project :gradle-server started
Configure project :gradle-server succeeded
Configure project :npm-package started
Configure project :npm-package succeeded
Task :spotlessInternalRegisterDependencies started
Task :spotlessInternalRegisterDependencies UP-TO-DATE
Task :gradle-server:spotlessJava started
Task :gradle-server:spotlessJava skipped
Task :gradle-server:spotlessJavaApply started
Task :gradle-server:spotlessJavaApply skipped
Task :gradle-server:spotlessApply started
Task :gradle-server:spotlessApply SUCCESS

Running just the sub-project task without the root task seems to be the most efficient. I haven't been able to do a performance check of this change due to all the gradle caching but I assume it's going to give some gains. I can try test on a slow windows VM.
Regarding the "Configure Project" logs, these are emitted no matter which task I execute, and I don't really know what they mean and assume it's just internal to gradle. (These logs are emitted via the Gradle Tooling API.) I'm not sure there's anything I can optimise there.
@nedtwigg i'll watch https://github.com/diffplug/spotless/issues/623 but also happy to make this change in the extension too. It can be an optimisation for users who haven't upgraded their spotless version. What do you think?

Running just the sub-project task without the root task seems to be the most efficient. I haven't been able to do a performance check of this change due to all the gradle caching but I assume it's going to give some gains. I can try test on a slow windows VM.

This is expected, but it could trigger a bug.  The bug is this:
// root build.gradle
target '*.gradle', '*/*.gradle' // format the root gradle scripts, and the gradle scripts of all subprojects

The target above is a bad idea, but it's out there.  Spotless allows you to format any file "below" you, so if a file is in the :subproject directory, it's still possible that it's being formatted by a parent.  You can safely exclude siblings though.

Regarding the "Configure Project" logs, these are emitted no matter which task I execute

If you set org.gradle.configureondemand=true in your gradle.properties, then you will get a further speed boost, which you can see reflected in fewer "Configure project :blah" logs.  It is not yet enabled by default because some projects which rely on lots of cross-project configuration can be broken by it.

I'll watch diffplug/spotless#623 but also happy to make this change in the extension too. It can be an optimisation for users who haven't upgraded their spotless version.

This is a great idea.  First off, you are 100% correct that it will be a speedup for all versions of Spotless that support the IDE hook.  I'd say you don't even need to follow 623 anymore, because I don't think it can go any faster than you can.  It would be the same speed, just less work for you to integrate.  But if you've already done the integration work, why add more to detect "such and such version", since there's no benefit.  I also don't have any plans to implement 623 anytime soon.

Thanks for the clarifications!
Cool, I'll have a bash an implementing the change in this extension 👍
Regarding the logic to detect which (sub)project a file belongs to, it looks like this might be a bit tricky, as you can rename the build file to something other than the standard convention (build.gradle). Here's an example.
It seems the best way to do this is to use the Gradle API to figure this out. Example here. AFAIK, the Gradle Tooling API doesn't expose similar API methods, and I'd need to add a custom plugin/model to the build (via an init script) in order to query the build. I have a (very rough) POC for adding a custom plugin & model to the build, but I remember having issues by not being able to debug the plugin. Either way, I will need to do further investigations before deciding on the correct approach here. Sadly it doesn't seem straightforward.

If the instructions to users for getting the speedup are "apply spotless, and then also apply this other plugin in your init.gradle", then I would think that it would be better to just get :spotlessApply -PspotlessIdeHook=blah to be smarter.  But I know you have other VSCode gradle plugins, so maybe the init script fixes problems you have in your other plugins too.

I really don't want to go the init script route, but as you point out it does open up the possibility for other features in the main vscode-gradle extension.
At a very high-level, and without thinking about it too deeply, here's the concept:

Add the custom plugin to the build via init script
Add a new grpc method/endpoint to return the sub-project for a specified file

This method will call the custom plugin added to the build to retrieve the project name

Add a new public API method getProject(file) to the public vscode API of the main vscode-gradle extension
Call getProject(file) from this extension before running the spotless apply task.
Adjust the spotlessApply arguments accordingly depending on the result of getProject(file)

But now that I type that out, i see that running that additional logic in gradle could result in a performance hit. So it's hard to say it's worth the effort.
I am tempted to scratch that plan, and just do a simple directory traversal looking for common build files (build.gradle & build.gradle.kts), and ignore projects with custom build file names. I'm tempted to say the majority of projects don't have custom build file names, and if they do, it's not the end of the world, they just don't get this performance gain.

and if they do, it's not the end of the world, they just don't get this performance gain

You'll need to also detect if they are using some non-standard layout, and bail out of only calling the subprojects, and instead call the full-blown spotlessApply, rather than :spotlessApply :subproject:spotlessApply.  It's not just a performance optimization - you will get an incorrect result if you don't correctly detect the .gradle files.
I semi-frequently create multi-project setups where the only build.gradle is in the root project, and just subproject blocks for the subprojects.
IMO, this is shaping up to be complicated enough that :spotlessApply ought to get smarter.  It's the best possible performance, and it also looks to be the easiest place to implement it.

I semi-frequently create multi-project setups where the only build.gradle is in the root project, and just subproject blocks for the subprojects.

I didn't know you could do this :(

IMO, this is shaping up to be complicated enough that :spotlessApply ought to get smarter. It's the best possible performance, and it also looks to be the easiest place to implement it.

Yea, with this new information it does seem like doing this with spotless would be easiest and best. I guess i'll just keep an eye out on https://github.com/diffplug/spotless/issues/623. If i have time to get familiar with the spotless codebase i might try contribute. I might also try solve this "client side" as i am curious, but it's a chunk of work so i can't say when i can get around to trying it.


fixup! [nrf noup] include: net: add SO_RAI_NO_DATA doc

This commit adds missing docstring for SO_RAI_NO_DATA.

You should include the fixup! magic string after the commit title:
fixup! [nrf noup] include: net: add NCS extensions

You should include the fixup! magic string after the commit title: fixup! [nrf noup] include: net: add NCS extensions see #1316 for an example

Thanks!

@MirkoCovizzi This needs a rebase.


Add support for BITFIELD command

BITFIELD key subcommmand-1 arg ... subcommand-2 arg ... subcommand-N ...
Supported subcommands:
GET <type> <offset>
SET <type> <offset> <value>
INCRBY <type> <offset> <increment>
OVERFLOW [WRAP|SAT|FAIL]

Implemented.


Refactorization of the ContourAppearanceSubtab

My notes on these changes may help to understand what my intention was here.  See the link below.
https://docs.google.com/a/ucar.edu/document/d/1w-7O75x8eauIITKpIh_sGDXvIa_5HVO0qUp0mIVs6-o/edit?usp=sharing

The current changes should allow the user to apply any spacing value that they want, regardless of the data extents, or transfer function extents.
This required subclassing the Combo class with the SpacingCombo class.  The Combo class imposes bounds on its accepted values.  Since we want to let the user enter values that can go past reasonable bounds, we needed reimplementations of a couple functions to break these rules.
Moderate testing has been performed, and there is one bug that I'm looking at.
I think this is closer to an ideal solution.  If not, let's keep iterating.


repo.spring.io no longer accessible

Hi, Maven returns a 401 unauthorised error when attempting to access repo.spring.io. It seems that spring.io have altered their permissions. (https://spring.io/blog/2020/10/29/notice-of-permissions-changes-to-repo-spring-io-fall-and-winter-2020)
Is there a workaround or alternative for resources such as https://repo.spring.io/libs-milestone/com/splunk/splunk/<IP_ADDRESS>/splunk-<IP_ADDRESS>.pom ?
Many thanks

Hi, thanks for raising this.  Not 100% sure at this stage what's happening here, been a while since I've built this code.  I'll have a look over the next couple of days and let you know.  If you have found a solution feel free to post it here and I can merge it in to the master branch.

Changing the location of the splunk-artifactory in the pom.xml as below seems to have worked, but I have still got other issues so cannot confirm for certain.
<repository> 			<id>splunk-artifactory</id> 			<name>Splunk Releases</name> 			<url>https://splunk.jfrog.io/splunk/ext-releases-local</url>  		</repository>

Fully working with this change so closing this issue

For anyone who hits a similar issue the problem was due to a newer version of the JVM being used and incompatibilities  in the library versions used in this build.  If you are trying to build the product and having issues trying building the code with JVM8 or similar.


The build no longer appears in the bin folder.

The build no longer appears in the bin folder.
build_log.txt

fixed, forgot to unignore libraries when moving paths


Publish release from GitHub actions

Added publishRelease and env vars

This PR was released with 0.22.1


making the diagnostics computation async #116

Signed-off-by: Lars Heinemann<EMAIL_ADDRESS>

@lhein any reasons preventing the merge of this PR?

yeah, I have still not tested with big to huge camel files.

tested now with a ~1250 lines camel context file and diagnostics takes a little more than a second. So I guess we are safe to also enable it for each text edit and not only on save time. @apupier

created https://github.com/camel-tooling/camel-language-server/issues/173


Add a provider type to dataset.metadata

I think a good addition in the future would be to add a provider type to the metadata. That way you would know from which provider the data came, to check if you need to for example:

handle it differently when for example transforming coordinates,
syncing tracking and event data of different providers
doing or not a certain step on your analysis if data comes from one provider or the other one.

We could add it in the kloppy\domain\common.py, something like:

class Provider(Enum):
    METRICA= "metrica"
    TRACAB = "tracab"
    OPTA= "opta"
    STATSBOMB = "statsbomb"

    def __str__(self):
        return self.value

@dataclass
class Metadata:
    teams: List[Team]
    periods: List[Period]
    pitch_dimensions: PitchDimensions
    score: Score
    frame_rate: float
    orientation: Orientation
    flags: DatasetFlag
    provider: Provider

I'll eventually need it for a project I'm working on and I could do it then, but could also be a good first issue for someone else that want's to contribute.

Indeed a good first issue!

Is the provider of the event data stored already? if not, is there a natural place for this to be stored?

@FCrSTATS each Dataset has a Metadata field. So for example if you have tracking from Tracab and events from Opta, you would have two datasets, one for tracking (dataset.metadata.provider = Tracab) and one for events (dataset.metadata.provider = Opta)

thanks Bruno, where is dataset.metadata.provider assigned?

It isn't yet, that's what this issue is about 😺

"is" == "should" :)
seems sensible to add to kloppy\domain\common.py as you suggested but is there a natural point at which it would be used

it might be the lack of caffeine, but I'm not sure I understand what you mean.

Fixed in https://github.com/PySport/kloppy/pull/38


chore: bdd-spring-1576737525 to 0.0.1

chore: Promote bdd-spring-1576737525 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Adds level theming support to headings 1..6

Allows for adding custom theming to the headings in markdown files.
example from my vscode settings.json
"editor.tokenColorCustomizations": {
    "textMateRules":
    [ {
        "name": "Markdown heading level 1 specific formatting",
        "scope": "punctuation.definition.heading.1.markdown",
        "settings": {
          "foreground": "#ff7300",
        }
      }, {
        "name": "Markdown heading level 2 specific formatting",
        "scope": "punctuation.definition.heading.2.markdown",
        "settings": {
          "foreground": "#3099fc",
        }
      } ]

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

Thanks but it looks like you edited the generated grammar file. Please change markdown.tmLanguage.base.yaml and run build (plus also probably update the tests cases)

Also, not sure this change is needed since we already include the heading level in the parent heading scope. You should be able to use a selector such as heading.6.markdown punctuation.definition.heading.markdown

Ah makes sense, I'll close this out then.


Issue with custom fields

Custom fields does not show in search even searchable is elected upon edit of the custom field

Having the same problem.
I tried checking Model.ListingCurrent.ListingMetas.Count in the listing card view, but it is always 0 when the same listing has a count of 5 on the listing page view.


build: replace deprecated axe dependency

The axe-webdriverjs package was deprecated in favor of @axe-core/webdriverjs. These changes switch to the new package, fix the new failures that were picked up and clean up some repetitive code.

For what it's worth, it's what I had tried to tackle in https://github.com/angular/components/pull/14808.

For what it's worth, it's what I had tried to tackle in https://github.com/angular/components/pull/14808.

Right, I didn't think of that; it way indexed in my brain under "tabs".

Right, I didn't think of that; it way indexed in my brain under "tabs".

bumping to minor due to conflicts on patch branch

bumping to minor due to conflicts on patch branch


add pagination to Pack and Similar lists

Currently, Pack and Similar lists on a sound's page do not show pagination; search results do.

This ticket is to help us track adding pagination to pack and similar lists, just like we did for search results.

@hamirmahal I removed the needs-design label since your prototype implements what the design would have been haha

@hamirmahal I removed the needs-design label since your prototype implements what the design would have been haha

@amilajack All good! I'm excited to be working on this.

@amilajack All good! I'm excited to be working on this.


variable configuration

Hi'
Thank you for offer this module. I'm confused when i use this module. By default setting, it will appear an error when i run the command: terraform plan.
configuration is as fellow:
destination_cidrs = "${var.destination_cidrs}"
nexthop_ids = "${var.server_ids}"
I config the variable destination_cidrs with a ip network segment in the variable.tf file. but it can not work. It sames that the root main file can not reference the module variables. When I derect to set the 'destination_cidrs' and 'nexthop_ids' to a net segment. It can be work fine.  Did you have some suggest for me. Thank you very much.

HI . @hehehehe123 Can you show me the error details?

hi @xiaozhu36  When i run the command: terraform init, it will shows the error message as fellow:
Error: module 'vpc-test': unknown variable referenced: 'destination_cidrs'; define it with a 'variable' block
Did it can not reference the module variable value?
Thanks for reply.


Pre Azure Login and Post Azure login failing

In GitHub actions, I'm using Azure Login.
But 4 hours ago its getting new jobs getting added Pre Azure Login and Post Azure login and its failing.
    - name: Azure login
      uses: Azure/login@v1
      with:
        creds:

Relates to Issue 403

Same problem here. We've pinned to version<EMAIL_ADDRESS>and the pipeline succeeded

You cannot assume the azure CLI is installed already.  Is there a way we can opt out of the pre-login functionality?

Also experiencing this issue.

We install azure cli in a step right before calling azure/login. As mentioned above, it should not be assumed az cli is installed on the runner/container.

Let's track this in #403.

<EMAIL_ADDRESS>This has fixed the problem of pre-login functionality.
We cannot mandate the installation of Azure CLI on the GitHub runners as it may not be used in other pipelines.


add options to print-repository-names subcommand

Is your feature request related to a problem? Please describe.
Add

--topics-included
--topics-excluded

Pull requests:

https://github.com/Senzing/github-util/pull/12


Emitter#FullClassCache#getOrElseUpdate relies on identity of ir trees (not js trees)

https://github.com/scala-js/scala-js/blob/54c9aa32a56a049d7bfb91ae935125c6a553ae71/linker/shared/src/main/scala/org/scalajs/linker/backend/emitter/Emitter.scala#L880
This means it relies on the entire compiler pipeline to keep stable tree identities. IMO that's an unreasonable requirement.

Discovered while debugging #4824.

Hum... this is completely wrong. IDK what I was thinking.
It does seem like there is a tree identity issue (the removal of the inbound cache in #4824 invalidates emitted trees), but it's not this :)


Introductions

Hello! Please introduce yourself in this thread below if you are interested in contributing to Openscapes, or if you just want to say hi.

Julie Lowndes
Hi, I'm Julie or Julia or Jules. I am a Mozilla Fellow and marine scientist at the National Center for Ecological Analysis and Synthesis (NCEAS) at the University of California Santa Barbara in the USA. I am developing Openscapes to increase the value of open practices in environmental science, so we can find solutions to environmental problems more efficiently and collaboratively.
GitHub: jules32
Twitter: juliesquid
Web: jules32.github.io

Hi Julie,
I just learned of this initiative through Marcus Beck, a fellow OSS 2017 participant I've been collaborating with on projects. I was able to catch your NCEAS webinar on Nov. 7th through a link he provided, and I'm very interested in seeing how this concept develops.
I'm trying to build capacity and momentum in my program and our regional partnerships for the application of open data/science tools, e.g. see a recent RFP. I think the Openscapes initiative is something the 28 National Estuary Programs would also be interested in embracing/promoting. So, I would love to follow your progress or help/contribute at your discretion.
Best,
Ed Sherwood
Tampa Bay Estuary Program
GitHub: esherwoo77


All Day Events

Hi,
First, this is a great script! Thank you so much for sharing it with the world! I'm using your script to create a communications plan for my organization, and now I can update the information in one place and have it push out to my entire group in real time through a shared calendar.
Since all of my events are "All Day" events, I don't need the start time and end time feature. Is there a way I can change those to be just one column called "Date" that uses a MM/DD/YYYY format?
Thanks!

Glad to hear it's helpful.
The "End Time" column can be hidden (there's a little dropdown menu in the column header). You should be able to change the format of start time to not show the time.
Changing the name for "Start Time" will require one change to the script. You can call it whatever you like and then change "Start Time" to that name on line 10 of the script.

Hi,
Thanks for getting back to me. I changed the column on my spreadsheet to be called 'Date,' then updated line 10 to say 'Date' instead of start time. I got the following error message:
Spreadsheet must have Title, Start Time, End Time, All Day Event, and Id columns
It looks like the script is looking for 'Start Time' in a few other places. In line 141, I changed 'Start Time' to be Date, but that just changed the error message; it didn't fix the error.
Any other ideas about what other lines might need to be changed? Thanks!

Hi Dave, this is a terrific apps script. Thank you very much! I didn't find anything like that in the web. Can you give me a hint how to sync two different calendars on the same sheet? I don't know which terms in the (necessary) second script should be changed so that the second calendar can correspond with the right columns.
Thank you in advance, Joachim (from Germany)

Looks like I never answered @ard1984:
Sorry, but I misspoke earlier. Looks like the column does need to be "Start Time". That name is converted to lowercase and the space removed to create the field "starttime", which is what the Google Calendar API is expecting. I'll keep the issue open as a reminder that I should make the script more flexible with respect to column names, but I don't have time to do it right now.
@Landino:
The script depends on a one-to-one correspondence between a calendar and a spreadsheet in order to sync back and forth. The way it's structured right now, it's not possible to sync to 2 calendars from one spreadsheet. Sorry.


Support case sensitive files

I have run into a problem where using zip4j to process APK or JAR files which contain case sensitive files, for example, minified APKs contain a lot of resources that differ only by case (res/aA.xml, res/aa.xml).
As far as I understand zip files should support this or at least there is no explicit requirement for files to be case insensitive. Zip files could actually contain duplicate files, but I don't want/need that.
There is of course a potential issue of trying to extract these zips on case insensitive system (e.g. Windows, OSX), so there might be a need for some warnings or something, but that might be out of scope for this.
Attached is a simple zip containing two files and java code that I would execute to create such a file.
try (ZipFile zipFile = new ZipFile("test.zip")) {
    ZipParameters zp = new ZipParameters();
    zp.setFileNameInZip("case.txt");
    zipFile.addFile("test.txt", zp);
    zp.setFileNameInZip("CASE.txt");
    zipFile.addFile("test.txt", zp);
}

test.zip

This is a good point, but I think it is better to put this as a flag in ZipParameters. Something like ZipParameters.caseSensistiveFileNames which is false by default, and can be switched on explicitly if needed. Reason behind this thought is that this change might make zip4j backward incompatible. There might be systems integrated with zip4j which rely on the fact that file names are currently insensitive in zip4j and will be replaced if a file is being added which already exists in the zip file.

I merged another similar PR which does case sensitive file header names comparison by default. After some further considerations, I think it is better to leave use case sensitive comparison by default.
I will include this in the next release. From then on, file header name comparison will be case sensitive.

Fixed in v2.11.1 released today


 doesn't init model value

Model value is not init by first item from array where compiler compile the template.

Can you provide a jsfiddle example?
If I understand your bug report correctly, then this behavior is intentional. The template should not drive the model, but the model should drive the view. So you should initialize the model from your controller if an initial value is supposed to be selected in the select drop down.

Hi Igor, this issue was discussed in topic
http://groups.google.com/group/angular/browse_thread/thread/3ce3a86307f2b449?pli=1


Diff feature tests & bug fixes

Added test cases thet coincide with some of the things that Sydney came up with a while back. Need to added node-level change tests
This will close #97 since I add those tests in this PR

Yep, looks legit.


refactor(logger): bring your own formatter, UTC support, remove keys at runtime, custom JSON encoder/decoder

Issue #, if available: #381 #387 #215 #98
Description of changes:

Major refactor of Logger to a) make it more flexible for those coming from other loggers, b) bring your own formatter for those with a common structure that differs from our opinionated one, c) UX enhancements to add or remove keys from the logger, d) address long standing tech debts on  LambdaPowertoolsFormatter.
UTC support

Note: By default, Python standard logging use local time.

from aws_lambda_powertools import Logger

logger = Logger(utc=True)

logger.info("Hello")  # "timestamp":"2021-04-19 12:58:46.635+0100", dst

New convenience property to change logger handler, if necessary
from aws_lambda_powertools import Logger

logger = Logger()

handler = logger.registered_handler  # takes into account parent or child loggers

Bring your own formatter
from aws_lambda_powertools import Logger
from aws_lambda_powertools.logging.formatter import BasePowertoolsFormatter

class CustomFormatter(BasePowertoolsFormatter):
    custom_format = {}

    def append_keys(self, **additional_keys):
        # used by inject_lambda_context decorator, Logger initialization, and structure_log
        self.custom_format.update(additional_keys)

    def remove_keys(self, keys: Iterable[str]):
        # used by Logger public method
        for key in keys:
            self.custom_format.pop(key, None)

    def format(self, record: logging.LogRecord) -> str:  # noqa: A003
        return json.dumps(
            {
                "message": super().format(record),
                "timestamp": self.formatTime(record),
                "my_default_key": "test",
                **self.custom_format,
            }
        )

custom_formatter = CustomFormatter()
logger = Logger(logger_formatter=custom_formatter)

Updating formatter made easier
from aws_lambda_powertools import Logger

logger = Logger()

logger.append_keys(request_id="id", order_id="id")
logger.info("with both request and order id keys")

logger.remove_keys(["request_id"])
logger.info("with request id key only")

Checklist

[x] Meet tenets criteria
[x] Update tests
[ ] Update docs
[x] PR title follows conventional commit semantics
[x] New features

[x] Bring your own formatter via Logger(log_formatter=...)

[x] Create ABC to support custom formatters to enforce append_keys and remove_keys
[x] Update Logger to use append_keys for Lambda decorator and structure_log calls

[x] Add support for utc=True

[x] Include timezone in timestamp key
[x] Create custom msec string interpolation to not break previous format (RFC 3339), since std logging doesn't support msec when built-in formatTime is overriden

[x] Tech debt

[x] Introduce append_keys, remove_keys over structure_log(append=True) to align with other runtimes
[x] Allow customers to set bare minimum (only message, and xray_trace_id)

[x] Allow to suppress sampling_rate
[x] Remove sampling_rate when not in use (set to None by default over 0.0)

[x] Allow custom JSON serializer/deserializer for those seeking faster performance
[x] Compact logging to save on ingestion & storage cost (separators[] to remove whitespace)
[x] [Internal] Refactor standalone methods into staticmethods
[x] Rename testing to powertools formatter given we have vastly deviated from the original implementation

[x] Create alias for JsonFormatter to prevent breaking existing customers

[x] Add convenience properties to access handler and formatter
[x] Support all standard log attrs (%()s) if given via kwargs

[ ] Update docstring parameters in Logger
[ ] Update docstring parameters in Formatter
[ ] Docstring and deprecation warning for structlog ahead of 2.0

Create separate PR for docs to include enhancements:

[ ] Document examples

[ ] Default JSON fn for unserializable (json.dumps(data, default=json_default))
[ ] Std log attrs %()s support
[ ] Bring your own formatter
[ ] Bare minimal attrs (level, message, service)
[ ] Update all docs with additional TZ in timestamp
[ ] Bringing orjson for those seeking to gain every possible microsecond

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@heitorlessa nice, this would help alot when you have company mandated structured logging formats.

@bml1g12 - what are your thoughts on the UTC UX for your use case?
Anything else you need while I'm at it?

Currently, I am declaring in each handler
LOGGER = Logger(datefmt="%Y-%m-%dT%H:%M:%SZ")
LOGGER._logger.handlers[0].formatter.converter = time.gmtime  #pylint: disable = protected-access

So in this new UX I would instead simply do
LOGGER = Logger(datefmt="%Y-%m-%dT%H:%M:%SZ", utc=True)

In each handler and the child would inherit this right?
If so, looks great to me! Much appreciated addition.

Yes exactly. I noticed you’re using RFC 8601 in your datefmt, I’ll make
sure this will be the default timestamp in v2, as changing now would break
customers.
On Wed, 21 Apr 2021 at 08:06, Benjamin Lowe @.***>
wrote:

Currently, I am declaring in each handler
LOGGER = Logger(datefmt="%Y-%m-%dT%H:%M:%SZ")
LOGGER._logger.handlers[0].formatter.converter = time.gmtime  #pylint: disable = protected-access
So in this new UX I would instead simply do
LOGGER = Logger(datefmt="%Y-%m-%dT%H:%M:%SZ", utc=True)
In each handler and the child would inherit this right?
If so, looks great to me! Much appreciated addition.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-lambda-powertools-python/pull/404#issuecomment-823802137,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZPQBA6QLUPK7IESZ3EUXTTJZTORANCNFSM43FYVHHQ
.

Yeah I chose this as I saw a few blogs recommending it as a standard across languages for structured logging; I think its the default for javascript logging library maybe

@heitorlessa I am liking these changes so long, I am glad to see that now even sampling_rate can be suppressed :)

Codecov Report

Merging #404 (b328431) into develop (0edec8e) will decrease coverage by 0.10%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #404      +/-   ##
===========================================
- Coverage    99.94%   99.84%   -0.11%
===========================================
  Files           98      100       +2
  Lines         3688     3816     +128
  Branches       174      176       +2
===========================================
+ Hits          3686     3810     +124
- Misses           0        2       +2
- Partials         2        4       +2

Impacted Files
Coverage Δ

aws_lambda_powertools/logging/formatter.py
100.00% <100.00%> (ø)

aws_lambda_powertools/logging/logger.py
100.00% <100.00%> (ø)

aws_lambda_powertools/utilities/parser/types.py
71.42% <0.00%> (-28.58%)
:arrow_down:

...bda_powertools/utilities/parser/models/__init__.py
100.00% <0.00%> (ø)

..._powertools/utilities/parser/envelopes/__init__.py
100.00% <0.00%> (ø)

...bda_powertools/utilities/parser/envelopes/apigw.py
100.00% <0.00%> (ø)

...lambda_powertools/utilities/parser/models/apigw.py
97.40% <0.00%> (ø)

Continue to review full report at Codecov.

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


Global custom validators

I'm submitting a ...

[ ] bug report
[x] feature request
[ ] support request

Do you want to request a feature or report a bug?

I want to request a feature.

What is the current behavior?

Right now, there is a limited number of global field validators that come predefined with the plugin.

What is the motivation / use case for changing the behavior?

Validators included by default do not cover a sufficient variety of possible validation criteria. For example, there is no validator that would require the user to 'check' a checkbox element (validating a value to be true).
Currently, this functionality can be extended by passing custom functions to the validator field in the schema object, but this is a deviation from the API used for default validators (passing them as a string array). My feature proposal is to give developers the ability to pass their custom validators in the Vue.use(VueFormGenerator, ....) plugin inclusion call alongside custom fields. These validators could then be accessed in the schema under the validator array the same way predefined validators are.

Not a bad request... and implementing a way to import custom validators in the init options seems like a good way to go.
However, in the mean time, you can inject them directly ....
VueFormGenerator.validators.customFunc = () = {};
Then just reference “customFunc” in the string array.

Looks good, thanks!


Support tensor parallel/pipeline parallel

Support tensor parallel/pipeline parallel currently?

Can you please share more details ?

NVIDIA-Megatron team proposed "Tensor Parallelism". When training in "Tensor Parallelism", the rank in same group has same data.

Any plan to add this?
one easy solution that seems not to be working could be:
os.environ["WORLD_SIZE"] = str(os.environ["WORLD_SIZE"]  // model_parallel_size)
os.environ["RANK"] = str(os.environ["RANK"] // model_parallel_size)

I tried, but seems the code gets stuck after calling something like:
batch = next(batch_iterator)

where batch_iterator a dataloder.

@snarayan21 Looks like this is being addressed. Is that right?

Would like to know if there is any example of megatron integration.

@andreamad8 @huxuan @gongel please see the replication argument detailed in our docs here.
@huxuan We don't have an explicit example of a megatron integration, but as it's pytorch based, you can simply swap in the dataset / dataloader.

@snarayan21
We can compute replication based on TP and SP as follows. But it seems we are lacking documentation on PP. I think part of this issue was unanswered because of that. How do we modify the parameters to streaming with pipeline parallelism?
TP and SP:
replication = tp * sp

Various configurations I tried just to sanity check. None of these are correct (unexpected high loss).

replication = tp * sp * pp

replication = tp * sp * pp
num_canonical_nodes = world_size // replication

replication = tp * sp
num_canonical_nodes = world_size // (tp * sp * pp)

Opened an issue for this separately:
https://github.com/mosaicml/streaming/issues/827


Requirements Doc

Overview
Write a requirements document that outlines the functionality to be implemented in the project.
The document will be put here in the Github WIki.

Posted the initial draft.

Feedback:

Don't use any subjective language (use this to protect yourself from misinterpretation)
Make the requirements within the realm of our control

Posted the 1st revision.


⚠ Bofrost.es has degraded performance

In e63c3a6, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1530 ms

Resolved: Bofrost.es performance has improved in f661e10 after 6 minutes.


Remove unused ESFieldExtractor

Codecov Report

Merging #5247 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #5247      +/-   ##
============================================
- Coverage     82.56%   82.52%   -0.04%
- Complexity    11033    11034       +1
============================================
  Files          1331     1330       -1
  Lines         45030    44997      -33
  Branches       5642     5631      -11
============================================
- Hits          37181    37136      -45
- Misses         5226     5249      +23
+ Partials       2623     2612      -11

Impacted Files
Coverage Δ
Complexity Δ

...t/executionphases/FailureOnlyResponseListener.java
40% <0%> (-33.34%)
2% <0%> (-2%)

...ion/aggregation/impl/GeometricMeanAggregation.java
59.09% <0%> (-22.73%)
11% <0%> (ø)

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
75% <0%> (-20%)
2% <0%> (ø)

...a/io/crate/exceptions/ContextMissingException.java
81.81% <0%> (-18.19%)
1% <0%> (-1%)

...te/executor/transport/SubSelectSymbolReplacer.java
68.88% <0%> (-11.12%)
3% <0%> (ø)

...src/main/java/io/crate/jobs/UpsertByIdContext.java
77.5% <0%> (-7.5%)
8% <0%> (ø)

.../distributed/TransportDistributedResultAction.java
75% <0%> (-4.69%)
8% <0%> (ø)

...ava/io/crate/data/AsyncOperationBatchIterator.java
85.91% <0%> (-2.82%)
23% <0%> (ø)

...c/main/java/io/crate/jobs/JobExecutionContext.java
92.24% <0%> (-1.73%)
23% <0%> (-1%)

...c/main/java/io/crate/action/sql/SQLOperations.java
81.02% <0%> (-1.46%)
4% <0%> (ø)

... and 16 more

Continue to review full report at Codecov.

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


the link tag does not has end-tag in the generated html!! sorry about my english!

webpack.config.js code :

sorry! it's not your reason.
"html-webpack-plugin" has this function:
https://github.com/ampedandwired/html-webpack-plugin

。。。。。。。。。。
now, you can close this issue!


Implementation of CNN+  bidirectional LSTM for videos

I have 25 videos of 2700 frames(RGB images of size 32x32) each. How do I build my model  to take in video input for the CNN and further the time step for LSTM would be the number of frames. I implemented the bidirectional LSTM in the following method:
`model = Sequential()
left = Sequential()
left.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
forget_bias_init='one', return_sequences=True, activation='tanh',
inner_activation='sigmoid', input_shape=(32, 32)))
right = Sequential()
right.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
forget_bias_init='one', return_sequences=True, activation='tanh',
inner_activation='sigmoid', input_shape=(32, 32), go_backwards=True))
model.add(Merge([left, right],'sum'))`
This gives me an error : Exception: Merge can only be called on a list of tensors, not a single tensor. Received: Elemwise{switch,no_inplace}.0
@fchollet Could you please help me with this?

Typo? model.add(Merge([left, right],'sum'))

@joelthchao  Sorry, that was a typo

I'm not sure if it will fit your needs but you can try the TimeDistributed wrapper.
You could also use a pretrained VGG, freeze the weights and fine tune the lstm part.

@dakshvar22 I correct the typo and no exception is produced.

@joelthchao , I still can't get rid of the exception. This is my code for building the model -
`def buildModel():
model = Sequential()
model.add(Convolution3D(32, 3, 3,3, border_mode='same',dim_ordering = 'th',input_shape=(2721,img_channels, img_rows, img_cols)))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(MaxPooling3D(pool_size=(2, 2, 2)))
model.add(Dropout(0.25))
model.add(Convolution3D(32, 3, 3,3, border_mode='same'))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(MaxPooling3D(pool_size=(2, 2, 2)))
model.add(Dropout(0.25))

model.add(Convolution3D(32, 3, 3,3, border_mode='same'))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(MaxPooling3D(pool_size=(2, 2, 2)))
model.add(Dropout(0.25))

left = Sequential()
left.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
               forget_bias_init='one', return_sequences=True, activation='tanh',
               inner_activation='sigmoid', input_shape=(32, 32)))
right = Sequential()
right.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
           forget_bias_init='one', return_sequences=True, activation='tanh',
           inner_activation='sigmoid', input_shape=(32, 32), go_backwards=True))
model.add(Merge([left, right],'sum'))

model.add(Flatten())
model.add(Dense(4096,activation='relu'))
model.add(Dense(1024,activation='relu'))
model.add(Dense(512,activation='relu'))

model.add(Dense(1,activation='sigmoid'))

sgd = SGD(lr = 0.1, decay = 1e-5, momentum=0.9, nesterov=True)
model.compile(loss='mean_absolute_error',
          optimizer=sgd,
          metrics=['accuracy'])`

Do you see anything wrong? I am using Keras version 1.0.2

@tboquet sorry, I do not have a reproducible example. I have pasted my code which I use to build the model in the above comment. Do you see anything wrong? I am using Keras version 1.0.2

@dakshvar22 I think the problem comes from your MaxPooling3D layer. Won't they destroy your img_channels or actually you have img_channels >= 4?

@joelthchao My image_channels is equal to 3(RGB). I have 25 videos of 2700 frames(RGB images of size 32x32) each. I need to input the whole video(all frames) at once into the network.

@dakshvar22
Sorry I only have TensorFlow and it doesn't support Convolution3D, therefore I can not test it.
Just to remind that input for conv3d has shape (samples, channels, conv_dim1, conv_dim2, conv_dim3). In your first conv3d, probably you have turned video_length into 32. Make sure your convolutional layer operate on the right axes.

@anayebi Can you help me out with this? I have even posted this question on your library. I have the latest version of Keras installed on my system - Version 1.0.2

If you take a look at the Readme for Keras-extra, it explicitly states that the code won't work for versions of Keras later than 0.3.0.
If you have Version 1.0.2, you can just use the TimeDistributed wrapper around Convolution2D, as explained here: http://keras.io/layers/wrappers/
Hope that helps! :)

@tboquet @fchollet
Update:
I am running my code on Keras 1.0.2 .. I get the an error when I use the following code which is almost similar to the example code given for TimeDistributed Wrapper
model.add(TimeDistributed(Convolution2D(8, 4, 4, border_mode='valid', batch_input_shape=(2710,3,32,32))))     model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2),border_mode='valid')))     model.add(Activation('relu'))     model.add(TimeDistributed(Convolution2D(8, 3, 3, border_mode='valid')))     model.add(Activation('relu'))     model.add(TimeDistributedFlatten())     model.add(Activation('relu'))     model.add(GRU(output_dim=100,return_sequences=True))     model.add(GRU(output_dim=50,return_sequences=False))     model.add(Dropout(.2))     model.add(Dense(1))
I get the following error -

File "/home/toothless/daksh/ml/project/src/model/model2.py", line 133, in buildModel
model.add(TimeDistributed(Convolution2D(8, 4, 4, border_mode='valid', input_shape=(2710,3,32,32))))
File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 102, in add
raise Exception('The first layer in a Sequential model must '
Exception: The first layer in a Sequential model must get an input_shape or batch_input_shape argument.

I have initialised my model with - model = Sequential() ... I have specified the input shape already, but still it gives the error while building the model itself. I am** not **even using model.fit right now. Please help me out.

Another update:
I figured out there was a paranthesis issue in the first layer declaration. It should have been this -
model.add(TimeDistributed(Convolution2D(8, 4, 4, border_mode='valid'), input_shape=(2710,3,32,32)))
Still, I get this new error -

File "/home/toothless/daksh/ml/project/src/model/model2.py", line 133, in buildModel
model.add(TimeDistributed(Convolution2D(8, 4, 4, border_mode='valid'), input_shape=(2710,3,32,32)))
File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 110, in add
layer.create_input_layer(batch_input_shape, input_dtype)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 337, in create_input_layer
dtype=input_dtype, name=name)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1026, in Input
name=name, input_dtype=dtype)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 957, in init
shape = input_tensor._keras_shape
AttributeError: 'TensorVariable' object has no attribute '_keras_shape'

Any idea what would this new error mean? - @joelthchao @tboquet @anayebi

@fchollet @joelthchao @anayebi @jamesfm
I have finally been able to connect the convolution layers with one LSTM layer. But, I want to implement a bi directional layer as mentioned in the first post of this thread. Here is the code that I am using now finally to build the model -
`
def buildModel():
model.add(TimeDistributed(Convolution2D(32, 3, 3,
                                    border_mode='valid'),input_shape=(1361,img_channels, img_rows, img_cols)))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))
model.add(Dropout(0.25))

model.add(TimeDistributed(Convolution2D(32, 3, 3, border_mode='valid')))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))
model.add(Dropout(0.25))

model.add(TimeDistributed(Convolution2D(32, 3, 3, border_mode='valid')))
model.add(keras.layers.normalization.BatchNormalization())
model.add(Activation('relu'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))
model.add(Dropout(0.25))

model.add(TimeDistributed(Flatten()))
model.add(TimeDistributed(Dense(256,activation='relu')))
model.add(TimeDistributed(Dense(128,activation='relu')))

# model.add(LSTM(output_dim=255,return_sequences=True))

left = Sequential()
left.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
               forget_bias_init='one', return_sequences=True, activation='tanh',
               inner_activation='sigmoid', input_shape = (1,128)))
right = Sequential()
right.add(LSTM(output_dim=256, init='uniform', inner_init='uniform',
           forget_bias_init='one', return_sequences=True, activation='tanh',
           inner_activation='sigmoid', input_shape = (1,128), go_backwards=True))

l = list()
l.append(left)
l.append(right)
model.add(Merge(l,'sum'))

model.add(TimeDistributed(Dense(1,activation='sigmoid')))

sgd = SGD(lr = 0.1, decay = 1e-5, momentum=0.9, nesterov=True)
model.compile(loss='mean_absolute_error',
          optimizer=sgd,
          metrics=['accuracy'])

`
I get a strange error while merging the two LSTM layers -

Exception: Merge can only be called on a list of tensors, not a single tensor. Received: Reshape{3}.0

I am sure that the individual layer instances are created correctly. What could go wrong here?

Hello, any updates or insights on this issue? I'm having similar problems using following code to build bidirectional GRU:
    model.add(TimeDistributed(Dense(int(TD_LAYER_MULTIPLIER * (alphaSize +
        nomiSize)), activation = 'tanh'),
        input_shape = (None, alphaSize + nomiSize)))

    fwModel = Sequential()
    fwModel.add(GRU(int(GRU_LAYER_MULTIPLIER * alphaSize),
            activation = 'sigmoid',
            input_shape = (None, alphaSize + nomiSize)))

    bwModel = Sequential()
    bwModel.add(GRU(int(GRU_LAYER_MULTIPLIER * alphaSize),
            activation = 'sigmoid', go_backwards = True,
            input_shape = (None, alphaSize + nomiSize)))

    model.add(Merge([fwModel, bwModel], mode = 'sum'))

This is the exception I'm getting:
Traceback (most recent call last):
  File "./run.py", line 22, in <module>
    main(sys.argv[1:])
  File "./run.py", line 19, in main
    run(source)
  File "/home/peter/Projects/smiles-nn/smiles-neural-network/rnn/rnn.py", line 319, in run
    model = setup(alphaSize, nomiSize)
  File "/home/peter/Projects/smiles-nn/smiles-neural-network/rnn/rnn.py", line 97, in setup
    return configureModel(alphaSize, nomiSize)
  File "/home/peter/Projects/smiles-nn/smiles-neural-network/rnn/rnn.py", line 85, in configureModel
    model.add(Merge([fwModel, bwModel], mode = 'sum'))
  File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 146, in add
    output_tensor = layer(self.outputs[0])
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 1245, in __call__
    'not a single tensor. Received: ' + str(inputs))
Exception: Merge can only be called on a list of tensors, not a single tensor. Received: Reshape{3}.0

I'm using Keras 1.0.5 and Theano 0.8.2
Thanks for any kind of help!

Exactly the same here. Any idea anyone?

Try 'merge' instead of 'Merge', "Merge is for layers, merge is for tensors. " -- see #2467 for details.

same here. It is not a problem of merge/Merge, I am using a layer as the input to Merge.
error is
This gives me an error : Exception: Merge can only be called on a list of tensors, not a single tensor. Received: Elemwise{switch,no_inplace}.0

Any progress @PMitura  @dakshvar22 @sarschu ? I am trying to implement the same thing but am not able to integrate the CNN with the Bidirectional LSTM.  I have created 2 models separately but am not able to join them together. Any views ?

I think in the end it wasn't the CNN. It was some problem with the input
shapes. Since it worked forward without any complains I built a second net
that looks exactly the same and put it through a backwards layer. Aftet
that I could merge.
On Sep 3, 2016 3:09 PM, "pranaymanocha"<EMAIL_ADDRESS>wrote:

Any progress @PMitura https://github.com/PMitura @dakshvar22
https://github.com/dakshvar22 @sarschu https://github.com/sarschu ? I
am trying to implement the same thing but am not able to integrate the CNN
with the Bidirectional LSTM. I have created 2 models separately but am not
able to join them together. Any views ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/2646#issuecomment-244561410,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJkBJbqILrXU-gVvDOl0yqRIt1eMlL3xks5qmbe_gaJpZM4IY5c_
.

Newly added Bidirectional wrapper (doc) (pull request) seems to solve this issue. It is working fine for me now.


Only build one variant for fixtures.

This made my local linear build go from 4m6s to 2m44s. I originally was only running SQL Delight generation (which was 1m24s!!!), but I think it's important to actually compile the generated code.

agreed. the >1 min savings is still incredible

Switched to a task which still does compilation but skips dexing and packaging the APK. Saves another 45s on a linear build.


'module' object has no attribute 'StrictRedis'

When I tried
>>> import redis
>>> r = redis.StrictRedis(host='localhost', port=6379, db=0)

as instructed in the readme file, I get this error:
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'StrictRedis'.

2.4.10 has been released, this is resolved.

hi
i use ipython3 and used Redis instead of StrictRedis and it not worked. and i change the file name redis but dose't work in ipython3.
can me get suggest for this problem?


Hi, is there a way to set the inner HTML?

I need this to change the inner HTML of a paragraph...

Hey @markusantonwolf ,
Can you please give me an example of how you would like this to work? Any idea would be appreciated.

Hi @paquettg,
for testing I added ->__get() to the object so I was able to change every value. In my case it was 'cause I wanted to change a link and replace the text with the href. Much better for text and html emails....

Hi, was this ever resolved? can you provide a usage example? thanks!


Acceptance Criteria in Preview

Currently, only the description of the user story is displayed in the preview. Would it also be possible to display the acceptance criteria?
Only this gives the complete scope of the story

@danielhirschi83 Agree, this would be a nice feature. Adding to the backlog.

@MOlausson we would be very happy to have this feature as well for estimation. Do you know approximately when it could be implemented?


Social Login with Chrome extensions

Feature request
Is your feature request related to a problem? Please describe.
Yes, the problem being that Social login such as google does not seem to work as intended in Chrome extensions. I have followed this discussion here: https://github.com/supabase/supabase/discussions/5787
Which has the same issue, and I'm hoping to find improved documentation, or help towards a solutions to be able to build extensions with Supabase.
Describe the solution you'd like
Improved documentation around how to make social logins work with extensions.
Describe alternatives you've considered
Building with Firebase instead, as they have Google OAuth that works with extensions as documented here: https://developer.chrome.com/docs/extensions/mv3/tut_oauth/
Additional context
I asked this in the discord and it was suggested to create an issue here :) Thanks!

I think there shouldn't be an issue now. If anyone's still having issues I'm more than happy to direct them/show some (more) code.

Gotcha, thanks so much @der-ofenmeister! Closing this for now


Update std.digest BOOKTABLE

Looks like it no one thought about it in https://github.com/dlang/phobos/pull/5047

Actually, @wilzbach can you put this on stable?

(rebased as DAutoTest didn't restart after the changing the target branch and it was showing unrelated files in the diff).

Btw the CodeCov failure here is weird:

-> https://github.com/dlang/phobos/pull/5572


release-3.0.0-rc.9

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 80.904%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
6423

Relevant Lines:
7939

💛  - Coveralls


Update specs2-cats, specs2-core, ... to 4.9.3

Updates

org.specs2:specs2-cats
org.specs2:specs2-core
org.specs2:specs2-matcher
org.specs2:specs2-matcher-extra
org.specs2:specs2-scalacheck

from 4.9.2 to 4.9.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2" } ]

labels: library-update, semver-patch

Superseded by #3341.


Fixed having the UnitTests project within a subdirectory called UnitTests.

Just a comment for the pull request.


teracopy-np: Fix tests

Fixes test failures in my other PR https://github.com/ScoopInstaller/Nonportable/actions/runs/3536293824/jobs/5935195181#step:4:29
Error: [-] any leading whitespace consists only of spaces (excepting makefiles) 39ms (37ms|2ms)
Message
  RuntimeException: The following 2 lines contain TABs within leading whitespace:
  File: D:\a\Nonportable\Nonportable\my_bucket\bucket\teracopy-np.json, Line: 11
  File: D:\a\Nonportable\Nonportable\my_bucket\bucket\teracopy-np.json, Line: 12
  at <ScriptBlock>, D:\a\Nonportable\Nonportable\scoop_core\test\Scoop-00File.Tests.ps1:185

Relates to #99

[x] I have read the Contributing Guide.

/verify

--> Installing the Manifest teracopy-np.json

Installing 'teracopy-np' (3.9.7) [64bit]
teracopy.exe (10.6 MB) [==========================================================================================] 100%
Checking hash of teracopy.exe ... ok.
Running installer... done.
Linking ~\scoop\apps\teracopy-np\current => ~\scoop\apps\teracopy-np\3.9.7
'teracopy-np' (3.9.7) was installed successfully!

--> Refreshing environment variables

--> Comparing ARP Entries

DisplayName DisplayVersion Publisher   ProductCode
----------- -------------- ---------   -----------
TeraCopy    3.9.7          Code Sector {F55A72A1-C710-4D2B-9096-0774DD4CC796}

PS C:\Users\WDAGUtilityAccount\Desktop\bucket> scoop uninstall teracopy-np
Uninstalling 'teracopy-np' (3.9.7).
Running uninstaller script...
ERROR Exit code was 1605!
Unlinking ~\scoop\apps\teracopy-np\current
'teracopy-np' was uninstalled.
PS C:\Users\WDAGUtilityAccount\Desktop\bucket>


How to upload files?

Is it possible to upload files through the SDK? Couldn't find any related methods

Hi @xvilo - You can use the SDK to send custom message objects via driver.sendMessage() (see the Message interface).
So you can add URL for attachments, but to actually "upload" like a user dragging a file into the client, would require the server the SDK is running on to host and stream a file to the server. That's theoretically possible but not a common use case so I don't think we'll provide helpers. You could still use the SDK and driver.asyncCall() to make a custom server method call if you can figure out the streaming requirements.

just a note, i was able to get that "upload" functionality with just driver.sendMessage() like so...
return driver.sendMessage({
  msg: "Message goes here",
  rid: 'RoomId goes here',
  attachments: [{
    fields: [{
      value: "File to upload"
    }],
    text: "File description goes here"
  }]
})

this helped me figure this out:
https://github.com/RocketChat/Rocket.Chat.js.SDK/blob/e507e86faf049751218a08f6488545ec77d33309/src/config/messageInterfaces.ts#L3

just a note, i was able to get that "upload" functionality with just driver.sendMessage() like so...
return driver.sendMessage({
  msg: "Message goes here",
  rid: 'RoomId goes here',
  attachments: [{
    fields: [{
      value: "File to upload"
    }],
    text: "File description goes here"
  }]
})

this helped me figure this out:
https://github.com/RocketChat/Rocket.Chat.js.SDK/blob/e507e86faf049751218a08f6488545ec77d33309/src/config/messageInterfaces.ts#L3

Hi @djlazz3 djlazz3 I wanna know how a get the file to upload I tryed to put the directory path to file, but it didn't work, it sent its own string path. Could you help me please?

@solanha1999 , you could make the upload with api/v1/rooms.upload/:rid. In the same request, you can send an message, or, after this, you have the path of file hosted on server, and you can send an message separately.
The attachments prop is only an path to an file. The path of the file can be a external and acessible link or an "internal" file on server.

@felipetomm Thanks thats great, but i dont know how do i do that (https://developer.rocket.chat/api/rest-api/endpoints/rooms/upload#example-call) in nodeJS i use the curl conversor (https://onlinedevtools.in/curl), but it don't work.

I thank you in advance!

@solanha1999, the code converter result that's incomplete, in node you need to use somewhere like a form-data. Can you see more here, has an example of upload local file to an POST API using form-data. I use this method and is functionally.
I hope that you get it :)

Sorry @felipetomm, but It's not working for me here's my code:

do u know what I'm doing wrong?

In my case i use axios to make a post.
I think that you need to specify form-data in headers, something like this:
const FormData = require('form-data');
let form = new FormData();

// temp.data is a binary from file that's a result from another get, that's similar to fs.createReadStream
form.append('file', fs.createReadStream('PATH_OF_FILE'), 'NameOfFile.pdf');
const config = {
    headers: {
        'Content-Type': 'multipart/form-data; boundary=' + form.getBoundary(),
        'X-Auth-Token': authToken,
        'X-User-Id': userId
    }
}
await axios.post(`${ROCKET_CHAT_HOST}/api/v1/rooms.upload/${roomId}`, form, config);

Try this, and if is possible, post the status code or result from your try

@felipetomm thanks, my code works very well, i just have to add the Room or User ID to work, so now i trying to get the User and Room ID by the function getDirectMessageRoomId and getRoomId, that returns a [object Promise]

if return a [object Promise], use await before call method:
// you have
driver.getDirectMessageRoomId('something_here')

// you need
await driver.getDirectMessageRoomId('something_here')

// or then
driver.getDirectMessageRoomId('something_here')
 .then((result) => {
     // do something
})

Thank you!!!! That's work very well!!!


Relations Foreign Key Reference

Using the following model:
model User {
  id        String    @default(cuid()) @id @unique
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  email     String    @unique
  name      String?
  slack     Provider? @relation(onDelete: CASCADE)
}

model Provider {
  id           String  @default(cuid()) @id @unique
  userId       String  @unique
  accessToken  String  @unique
  refreshToken String? @unique
  user         User?   @relation(onDelete: CASCADE)
}

Reading the docs... "For 1:1 relationships, it doesn't matter on which side you store the foreign key. Prisma has a convention that the foreign key is added to the model which appears first alphanumerically in your data model".
But running SELECT * FROM sqlite_master; shows me differently
CREATE TABLE "Provider"("id" TEXT NOT NULL  ,"userId" TEXT NOT NULL DEFAULT '' ,"accessToken" TEXT NOT NULL DEFAULT '' ,"refreshToken" TEXT   ,PRIMARY KEY ("id"))

CREATE TABLE "User"("id" TEXT NOT NULL  ,"createdAt" DATE NOT NULL  ,"updatedAt" DATE NOT NULL DEFAULT '1970-01-01 00:00:00' ,"email" TEXT NOT NULL DEFAULT '' ,"name" TEXT   ,"slack" TEXT NOT NULL  REFERENCES Provider(id),PRIMARY KEY ("id"))

I can confirm this.
Right now we are creating the foreign key on the model which appears first in the project.prisma file. But it should be in accordance with lexicographical precedence.
Also, onDelete: CASCADE is yet to be implemented.

After some testing, it seems the foreign key is determined by which referenced field on the two referencing models comes with lexicographical precedence.
Example 1 - userRef > userReff
Model
model User2 {
  id      String @default(cuid()) @id @unique
  userRef User3
}

model User3 {
  id      String @default(cuid()) @id @unique
  userReff User2
}

Creates
CREATE TABLE "file:dev"."User2"("id" TEXT NOT NULL  ,"userRef" TEXT NOT NULL  REFERENCES User3(id),PRIMARY KEY ("id"));

CREATE TABLE "file:dev"."User3"("id" TEXT NOT NULL  ,PRIMARY KEY ("id"));

Example 2 - userRef < userRe
Model
model User2 {
  id      String @default(cuid()) @id @unique
  userRef User3
}

model User3 {
  id      String @default(cuid()) @id @unique
  userRe User2
}

Creates
CREATE TABLE "file:dev"."User2"("id" TEXT NOT NULL  ,PRIMARY KEY ("id"));

CREATE TABLE "file:dev"."User3"("id" TEXT NOT NULL  ,"userRe" TEXT NOT NULL  REFERENCES User2(id),PRIMARY KEY ("id"));

One more thing we want to keep in mind is creating a foreign key for an optional relation defined in the datamodel.
For example:
model User {
  id         String        @default(cuid()) @id @unique
  email      String        @unique
  staff      Staff?
}

model Staff {
  id        String   @default(cuid()) @id @unique
  user      User
  active    Boolean?
}

If we create the database schema for the above datamodel using Lift, it will create a foreign key on the User field. But in the datamodel, Staff on a User is optional but a User is required on the Staff.
So when we try to create a User:
const user: User = await photon.users.create({
	data:{
		email<EMAIL_ADDRESS>	}
});

It will throw a Null Constraint violation exception as shown below:
"error": "ConnectorError(NullConstraintViolation { field_name: \"User.staff\" })"

This shouldn't be the case. This is also easily fixable by creating the foreign key on staff rather than on the user.
model Staff {
  id     String   @default(cuid()) @id @unique
  user   User     @relation(references: [id])
  active Boolean?
}

model User {
  id    String @default(cuid()) @id @unique
  email String @unique
  staff Staff?
}

This is fixed. It will ship with preview4.

Hi, the CASCADE does not work though ;(

Can you please open a new issue about this @tomitrescak? We will then look into it with the necessary information you provide about the problem. Thanks.


Inputs as tiles

Hi sorry for the newb question here but I was able to get this working through Homebridge on my Synology NAS just great. I have a "My LG TV" tile in my Home app, and when I tap it I can successfully turn on and off my TV or change input using the spinner below the button.
I'd like to have each input on a separate tile, or more importantly, have the ability to just say "Siri switch to HDMI1" or tie it in with an Apple Shortcut to switch inputs. Is this possible with this plugin?

Please check README in the configuration section https://github.com/merdok/homebridge-webos-tv?tab=readme-ov-file#tv-configuration-fields
The property which you are looking for is appButtons

Thanks, I figured it out.


not_filters not working

In working on a client using active directory as the ldap server, whenever I use a not equal filter I get no replies. As an example if the filter is "(!(userAccountControl:1.2.840.1135<IP_ADDRESS>3:=2))"  to give me all non-disabled accounts, I get no responses.
The parser properly parses the filter and does create a not filter instance, but something (and it may be in the ber serialization) goes horribly wrong and no results are returned, yet the same query works fine with ldapsearch
I apologize for the vauge report but I spent the last few hours stepping through the code and everthing to the point of toBer looks good. A quick and dirty diff of packet capture show differences between this and (As example) the same search with ldapsearch

Here is the relevant capture diffs (X'd out the base)
node-ldapjs:   0Z...cU..dc=XXXX, dc=XXX................1./.*userAccountControl:1.2.840.1135<IP_ADDRESS>3:..20.
ldapsearch :   0Z...cU..dc=XXXX,dc=XXX.................1./..1.2.840.1135<IP_ADDRESS>3..userAccountControl..20.

Hi Mark
Thanks for the report. I'm traveling but will look at this first thing
next week.
Sent from my iPhone
On Nov 2, 2011, at 1:25 PM, Mark Lussier
<EMAIL_ADDRESS>wrote:

In working on a client using active directory as the ldap server, whenever I use a not equal filter I get no replies. As an example if the filter is "(!(userAccountControl:1.2.840.1135<IP_ADDRESS>3:=2))"  to give me all non-disabled accounts, I get no responses.
The parser properly parses the filter and does create a not filter instance, but something (and it may be in the ber serialization) goes horribly wrong and no results are returned, yet the same query works fine with ldapsearch
I apologize for the vauge report but I spent the last few hours stepping through the code and everthing to the point of toBer looks good. A quick and dirty diff of packet capture show differences between this and (As example) the same search with ldapsearch
--
Reply to this email directly or view it on GitHub:
https://github.com/mcavage/node-ldapjs/issues/28

Hi,
Can you give me an actual packet dump? I ran this locally with a scrap server and saw identical bytes on the wire between ldapjs and OpenLDAP. Below are the commands I ran, and the wireshark bytes for the filter only.
OpenLDAP:
ldapsearch -x -H ldap://localhost:1389 -LLL -b o=foo "(!(objectclass=*))"

0000   a2 0d 87 0b 6f 62 6a 65 63 74 63 6c 61 73 73     ....objectclass

ldapjs:
ldapjs-search -b o=foo -u ldap://localhost:1389 "(!(objectclass=*))"

0000   a2 0d 87 0b 6f 62 6a 65 63 74 63 6c 61 73 73     ....objectclass

here are the opts
var opts = {
  base: 'dc=xxxx,dc=xxx',
  filter: '(!(userAccountControl:1.2.840.1135<IP_ADDRESS>3:=2))',
  scope: 'sub',
};

Oh ok - I'm pretty sure this has to do with the extensible matching, and not the not filter.  I never wired that in, as IMO it's massively overcomplicated for what the average human wants to do server side. That said, I know AD uses it heavily, so it would make sense to fix so the client at least sends it correctly.
Thanks for the trace, I should be able to recreate now that I know that's what you're doing.
m

I was just going to say that. I looked longer  at the packet captures ad  ldapjs shows not equalityMatch vs not extensibleMatch from ldapsearch
And sadly AD does

What do you mean? You mean you just used a "normal" OR filter, as opposed
to not with extensible match?
On Mon, Nov 7, 2011 at 1:51 PM, Mark Lussier <
<EMAIL_ADDRESS>
BTW I did work around it temporarily with an OR group vs doing a NOT on
the bitfield and that seems to work for now

Reply to this email directly or view it on GitHub:
https://github.com/mcavage/node-ldapjs/issues/28#issuecomment-2660314

Yup.. ex: search in my test case.. Explicit userAccountControl values  effectively (they are off by 1 account) do the same as the doing a ! using the bit flag
filter: '(&(objectcategory=person)(mail=m)(|(userAccountControl=66080)(userAccountControl=66048)(userAccountControl=2080)(userAccountControl=544)(userAccountControl=512)))',

Ahh ok, cool. Well, I put this on my list to look into supporting for client requests.

Howdy-
This should be wired in now - I tested on the wire all the examples from the RFC against what openldap is doing with it. Should be good to go.
m

Oh, and it's in npm as<EMAIL_ADDRESS>

Works perfectly!
On Nov 8, 2011, at 4:32 PM, Mark Cavage wrote:

Howdy-
This should be wired in now - I tested on the wire all the examples from the RFC against what openldap is doing with it. Should be good to go.
m

Reply to this email directly or view it on GitHub:
https://github.com/mcavage/node-ldapjs/issues/28#issuecomment-2675948