[SP-4947] - Added message when no data in row

@pentaho-lmartins please review

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -f core/build.xml checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/src/org/pentaho/di/core/row/RowMeta.java
  engine/src/org/pentaho/di/trans/steps/abort/Abort.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change: -7.2% :small_red_triangle_down:
Complexity Change: -7.7% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.abort.Abort

Complexity Change: -2.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.2% :small_red_triangle_down:
Complexity Change: -0.7% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapinput.LDAPInputMeta

Branch Change: -1.6% :small_red_triangle_down:
Complexity Change: -0.9% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

License header violations

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/org/pentaho/di/trans/steps/abort/Abort.java

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/abort/Abort.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.getpop.MailConnectionMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.abort.Abort

Complexity Change: -2.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:


Insiders not seeing an update since 5/23 on Windows

VSCode Version: Code - Insiders 1.13.0-insider (7403245d3d42edab8d0c728cf56b8a2db097db7f, 2017-05-23T05:14:19.493Z)
OS Version: Windows_NT ia32 10.0.16199

On macOS it found and updated to today's nightly (5/25), but on Windows it says there isn't any update using Check For Updates.... Not sure if this is a :bug: or there just hasn't been a Windows version released or not -- but wanted to check to be sure.

Should be good tomorrow.


Add image to Mook and to NPC screen

It'll help greatly since I use different images for token and for portrait.

I've added the portrait to the NPC and NPC-CI sheets, but not to the Mook sheet for various reasons. You still have full ability to select an image in the NPC/NPC-CI sheets, just not on the input (Mook) sheet. So there's no loss of functionality.


⚠ Bofrost.at has degraded performance

In 07314e6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2107 ms

Resolved: Bofrost.at performance has improved in 8504d76 after 13 minutes.


docs: add DataGrid PropertyColumn Align Left/Right => Start/End in Upgrade Guide

🙋 Documentation Request

When upgrading from FluentUI 2 to 3, the DataGrid PropertyColumn Align enum now uses "Start/End" in place of "Left/Right"
💁 Possible Solution
Mention this in the Upgrade Guide:
https://www.fluentui-blazor.net/UpgradeGuide

Side Note: The new components look awesome! Looking forward to making use of them, was especially missing label and a Grid Layout.

Docs have been updatet.
Markdown files are being cached in the browser. If you do not see the updates, go into developer tools and delete the cache for the component:

Thanks


Implement zoneTracker for coordinating downscales across statefulsets using a ConfigMap for the prepare_downscale admission webhook

Replacing #96 with this PR, changing the implementation to use a ConfigMap instead of a file in object storage.
The previous PR includes context for the reasoning behind implementing the zoneTracker and ultimately settling on a ConfigMap as the mechanism to store the relevant zone metadata.

Thanks so much for the review, @andyasp -- I've pushed a commit here and to another branch to implement your suggestions and feedback:

https://github.com/JordanRushing/rollout-operator/commit/cdf9d74bbd89fae6449aa8107ed0d4db70c27125

Once I'm finished iterating on the new branch, I'll merge the changes into this PR to finish the review so that we can merge and cut a new tag for the rollout operator.

Can we include this in the read.me as well? Thanks!


Setting initial value

I have an implementation of this package as:
        CustomDropdown.searchRequest(
          items: [some items],
          futureRequest: futureRequest,
          hintText: 'Search something...',
          controller: _controllerForText,
          onChanged: (selected) {
            //some logic...
          },
        ),

It work perfect, but...
How can I specify the selected item, for example, when editing some model, I start the view with every field fill with the current value, how do I put the value corresponding to this dropdown.
Or if I have one dropdown that depend on other, B depend on A, when I select a item in A, B is updated with the info, and I update the view, but if I update the view A loose the selected item.
In defaults dropdown, there is a property 'value' with this function, what is the equivalent of this property in this package?
This is the one how worked for my:
DropdownButtonHideUnderline(
          child: DropdownButton<String>(
            hint: Text(
              'Select type',
              style: TextStyle(
                fontSize: 14,
                color: Theme.of(context).hintColor,
              ),
            ),
            items: items
                .map(
                  (item) => DropdownMenuItem<String>(
                    value: item,
                    child: Text(
                      item,
                      style: const TextStyle(
                        fontSize: 14,
                      ),
                    ),
                  ),
                )
                .toList(),
            value: initialValue, //this property is what I need
            onChanged: (value) {
              //some logic
            },
          ),
        )

Hey @JesusHdez960717 Thanks for asking.
You can specify your initial value or changing state value by using controller.
final dataCtrl = TextEditingController(text: data)
Now, that data variable for controller text can hold your initial value or also the updated state[data] value. So in your case, when your model is ready for view, you can assign the value to controller so that dropdown knows something is passed as initial value.
I hope I answered your question, Thanks!

Thanks @AbdullahChauhan, your solution work perfectly.
An amazing package, great work.
👍🏻


Gas metrics for method calls and deployments

I understand the etherlime test --gas-report feature which reports back the gas costs per test, however a more advanced gas metrics report is needed which reports cost of method calls. https://github.com/cgewecke/eth-gas-reporter is brilliant but doesn't work natively with etherlime, perhaps either extend that or provide an alternative.

Thank you. We are going to implement it in our future releases.


[RFE] Autodiscover if a resource is namespaced or not

Is your feature request related to a problem? Please describe.
The current logic requires to set the variable namespaced to true when we want kube-burner to treat a resource as namespaced. There're alternatives in where we can prescind of this variable.
Describe the solution you'd like
Make kube-burner able to find out if an object is namespaced or not.
Describe alternatives you've considered
Seems like the RestMapping object has a method  that provides such information

Thank you for accepting my PR #338, and I agree that using the rest mapper is much cleaner so I took the liberty to tease it out.

Actually, hold on this -- #333 is tangentially related, and show that a need for isNamespaced func.

Okay, re-pushed -- I like this change a bit more. I'm happy to iterate on this to get it to align with the project's vision. I'm looking to use kube-burner for a project and am happy to contribute and make it better.


Document that generated self signed certificates go into the data directory

~Users can specify paths of the cert and its key in config.yaml if HTTPS is enabled, instead of using --cert and --cert-key.~
~In the doc directory, I can't find a documentation explaining entries in config.yaml. Luckily, now the config.yaml has a very small number of entries. However, the lack of documentation is always confusing, especially after the file becomes complicated in the future.~ Document that generated self signed certificates go into the data directory

BTW, I have another question: When HTTPS is enabled but the --cert argument is not used, which certificate will be used?
Thanks.

Hi @KaneGreen!
The certificate path is mentioned in the guide and the FAQ explains exactly how the config file works.
https://github.com/cdr/code-server/blob/master/doc/FAQ.md#how-does-the-config-file-work

When HTTPS is enabled but the --cert argument is not used, which certificate will be used?

Also explained in the FAQ.
https://github.com/cdr/code-server/blob/master/doc/FAQ.md#how-should-i-expose-code-server-to-the-internet

Soon we do plan on making the cli help output more useful and detailed.

Hi @KaneGreen!
The certificate path is mentioned in the guide and the FAQ explains exactly how the config file works.
https://github.com/cdr/code-server/blob/master/doc/FAQ.md#how-does-the-config-file-work

When HTTPS is enabled but the --cert argument is not used, which certificate will be used?

Also explained in the FAQ.
https://github.com/cdr/code-server/blob/master/doc/FAQ.md#how-should-i-expose-code-server-to-the-internet

Sir, I've read these. And I know cert will be generated if no cert path is provided. But, where the generated cert are saved?

Sir, I've read these. And I know cert will be generated if no cert path is provided. But, where the generated cert are saved?

Is the FAQ not clear enough about how the config file works?

Sir, I've read these. And I know cert will be generated if no cert path is provided. But, where the generated cert are saved?

Great point. It's the data directory but we should document that.

Sir, I've read these. And I know cert will be generated if no cert path is provided. But, where the generated cert are saved?

Is the FAQ not clear enough about how the config file works?
Oh, sorry. I understood. Firstly, I saw cert: false, I thought cert can only be a boolean value. Now, I found I was wrong. Thanks for your answer.

Sir, I've read these. And I know cert will be generated if no cert path is provided. But, where the generated cert are saved?

Great point. It's the data directory but we should document that.

I checked the data directory I specified as --user-data-dir but I can’t find the certificate. Did you mean something else by “data directory”?

I found the certificate in /tmp/code-server/, and it’s implemented in
https://github.com/cdr/code-server/blob/486652abafa9c8bba8f31dbb0481f4c2b61d6e66/src/node/util.ts#L57-L60
So clearly we need to document this place, because even project members don’t know where it is.

Sorry that seems to be a bug. We do need to fix this and document it correctly.


add option to disable model syncing in UI

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[ ] Yes
[ ] No, because:

Have you updated all relevant documentation?

[ ] Yes
[ ] No

Description
Related Tickets & Documents

Related Issue #
Closes #

QA Instructions, Screenshots, Recordings

Added/updated tests?

[ ] Yes
[ ] No : please replace this line with details on why tests
have not been included

[optional] Are there any post deployment tasks we need to perform?

What is the problem that this PR addresses?

We need the ability to hide this button for commercial users who are in a hosted environment


Add Bund6 by pilotredsun

Song Name
Bund6
Artist Name
pilotredsun
Source
Youtube
Youtube Link
xCxZ4F3qycE
Direct File Link
No response
Song ID
0
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 93406461

WAIT WAIT

THE LEVEL ID IS 105177215


conf/samples: Switch HNT device to overlay2

We do so because all new added devices
should use overlay2 by default.
Changelog-entry: conf/samples: Switch HNT device to overlay2
Signed-off-by: Alexandru Costache<EMAIL_ADDRESS>

@balena-ci retest

@resin-jenkins retest

@rcooke-warwick looks like it fails the same way after rebuild

@balena-ci I self-certify!


[cms-driver] Found no matching code model for the current build type

Brief Issue Summary
Debug can't be started for projects with overridden in CMakeLists.txt CMAKE_BUILD_TYPE
Create CMakeLists.txt:
cmake_minimum_required (VERSION 2.6)
project (Main)
add_executable(Main main.cpp)

string(TOUPPER "${CMAKE_BUILD_TYPE}" TMP_CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "${TMP_CMAKE_BUILD_TYPE}" CACHE STRING "DEBUG RELEASE RELWITHDEBINFO MINSIZEREL" FORCE)

with some main.cpp. For example, minimal:
int main(){}

Compile and try to launch debug (I've done it all via Status Bar buttons).
Expected:
Launched debug.
Apparent Behavior:
Nothing.
CMake Tools Log
[cms-driver] Found no matching code model for the current build type. This shouldn't be possible
[cms-driver] Found no matching code model for the current build type. This shouldn't be possible
[cms-driver] Found no matching code model for the current build type. This shouldn't be possible
[main] Failed to prepare executable target with name 'undefined'

Developer Tools Log
Fails check in cms-driver.ts after this:
const build_config = this._codeModel.configurations.find(conf => conf.name == this.currentBuildType);

At this moment _codeModel contains configuration named "DEBUG", while currentBuildType is "Debug". So search ends unsuccessfully.
Platform and Versions

Operating System: Darwin x64 18.7.0
CMake Version: 3.15.3
VSCode Version: 1.38.1
CMake Tools Extension Version: 1.1.3
Compiler/Toolchain: Clang 10.0.1

Related to #766
Out of curiosity, why do you want to change the build type in your CMakeLists.txt?

Well, it's legacy I deal with at new place. However, the only examples at official documentation are in uppercase. Agree, examples not for CMAKE_BUILD_TYPE, but I can understand intention to keep everything in consistent way.

Any update on that issue: FYI in terminal you would just
cd build
./foobar_target

That should not be unrealistically hard to solve right?


Update tenant-settings-index.md

Remove claim on ADMIN api access on setting for allow access to fabric api's.
Thank you for contributing to Microsoft Fabric documentation
Fill out these items before submitting your pull request:
If you are working internally at Microsoft:
Provide a link to an Azure DevOps Boards work item that tracks this feature/update.

Who is your primary Skilling team contact? @mention them individually tag them and let them review the PR before signing off.

For internal Microsoft contributors, check off these quality control items as you go

[ ] 1. Check the Acrolinx report: Make sure your Acrolinx Total score is above 80 minimum (higher is better) and with no spelling issues. Acrolinx ensures we are providing consistent terminology and using an appropriate voice and tone, and helps with localization.

[ ] 2. Successful build with no warnings or suggestions: Review the build status to make sure all files are green (Succeeded).

[ ] 3. Preview the pages:: Click each Preview URL link to view the rendered HTML pages on the review.learn.microsoft.com site to check the formatting and alignment of the page. Scan the page for overall formatting, and look at the parts you edited in detail.

[ ] 4. Check the Table of Contents: If you are adding a new markdown file, make sure it is linked from the table of contents.

[ ] 5. #sign-off to request PR review and merge: Once the pull request is finalized and ready to be merged, indicate so by typing #sign-off in a new comment in the Pull Request. If you need to cancel that sign-off, type #hold-off instead. Signing off means the document can be published at any time. Note, this is a formatting and standards review, not a technical review.

Merge and publish

After you #sign-off, there is a separate PR Review team that will review the PR and describe any necessary feedback before merging.
The review team will use the comments section in the PR to provide feedback if changes are needed. Address any blocking issues and sign off again to request another review.
Once all feedback is resolved, you can #sign-off again. The PR Review team reviews and merges the pull request into the specified branch (usually the main branch or a release- branch).
From the main branch, the change is merged into the live branch several times a day to publish it to the public learn.microsoft.com site.

Not an Microsoft employee, but i feel the description is wrong as the setting doesn't provide access to admin API's.

Hi @Mimiix, thanks for your suggestion. The tenant settings index page is actually generated automatically from the tenant settings themselves in the Fabric UI, so I am not going to make your changes in this doc. Rather, I am forwarding your comment on to the product team, they'll evaluate, and then update the text in the UI if necessary. Thanks for taking the time to comment!

#please-close


Problem with Push Notifications

Hi,
I have follow the tutorial, and now I have some doubts with the Push Notifications set up. I have added the Backendless keys, and Push notifications works from iOS to Android, but from Android to iOS are not working at all.
I am working with debug version, so I am thinking the problem may be because it. I have read this in the manual:

All the code for Push Notifications is already included in the Chat SDK. Getting them working only requires a small amount of configuration. For help regarding this, you can take a look at the Backendless guide.
NOTE:
Some of the steps in this tutorial include adding code to the app, these steps should be unnecessary as they have already been added to the project.
NOTE:
If you want push notifications to work in Development mode make sure to configure them in your provisioning profile for both development and production.

What are the steps that are not necessary, and the other question, what do I have to configure Android for development?

Hi,
The main difference between development and production with our configuration of the SDK is debug vs release mode. There are no differences in our development mode that I know of which should cause problems with push notifications. If there was indeed a problem related to these profiles, I would not any push notifications to appear.
For that reason I think this note may have been carried over from the iOS documentation accidentally.
Could you let me know if the iOS to iOS and Android to Android notifications are working?

Hi,
I have seen that in the /app/build.gradle exists this both configurations:

        /*debug {
            storeFile file('/media/braunster/Code/Android/braunserkey')
            keyAlias 'braunsteralias'
            keyPassword 'Itzikbraun1991'
            storePassword 'Itzikbraun1991'
        }*/

        release {
            storeFile file('/media/braunster/Code/Android/braunserkey')
            keyAlias 'braunsteralias'
            keyPassword 'Itzikbraun1991'
            storePassword 'Itzikbraun1991'
        }
    }```

You can see that development config is commented, so I have a doubt about change the commented configuration. At this moment I get an error about the release signing.

iOS to iOS are working fine, iOS to Android as well, but Android to iOS are not working. I have changed several options for Firebase Server Key, but I have no good result.

Hi again,
I have tried several times to configure the Push Notifications for Android app, and now, I am getting this error:
03-28 11:24:29.738 13954-13954/com.braunster.androidchatsdk.app E/BackendlessBroadcastReceiver: Error processing push notification
                                                                                java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
                                                                                at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
                                                                                at org.json.JSONTokener.nextValue(JSONTokener.java:94)
                                                                                at org.json.JSONObject.<init>(JSONObject.java:156)
                                                                                at org.json.JSONObject.<init>(JSONObject.java:173)
                                                                                at com.braunster.androidchatsdk.firebaseplugin.firebase.backendless.ChatSDKReceiver.onMessage(ChatSDKReceiver.java:68)
                                                                                at com.backendless.push.BackendlessBroadcastReceiver.handleMessage(BackendlessBroadcastReceiver.java:198)
                                                                                at com.backendless.push.BackendlessBroadcastReceiver.handleIntent(BackendlessBroadcastReceiver.java:161)
                                                                                at com.backendless.push.BackendlessBroadcastReceiver.onReceive(BackendlessBroadcastReceiver.java:128)
                                                                                at android.app.ActivityThread.handleReceiver(ActivityThread.java:2743)
                                                                                at android.app.ActivityThread.-wrap14(ActivityThread.java)
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1431)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loop(Looper.java:148)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-28 11:24:29.755 13954-13954/com.braunster.androidchatsdk.app E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
03-28 11:24:29.756 13954-13954/com.braunster.androidchatsdk.app E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.

And this is the error log when a test notification is sent from Backendless console:
03-28 11:43:39.079 13954-13954/com.braunster.androidchatsdk.app E/ChatSDKReceiver: JSONException: Value android-ticker-text of type java.lang.String cannot be converted to JSONObject
03-28 11:43:39.083 13954-13954/com.braunster.androidchatsdk.app E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
03-28 11:43:39.086 13954-13954/com.braunster.androidchatsdk.app E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.

Today Push Notifications tests have ended with the following result with real devices:
iOS to iOS: OK
iOS to Android: OK
Android to iOS: ERROR
Android to Android: Not Tested (I do not have two Android devices)
Backendless Console to Android : ERROR ( See previous post -1)
Firebase Console to Android: ERROR (See previous post -2)
I think that it is possible that development and release certificates are bugging one each other, so if I can not make this work properly I will need to wait until release.
I really need help :)

Hi,
I have tried several times to configure the Push Notifications for Android app, and now, I am getting this error when I send a notification from Accengage server. and also my application is crashed.
compile 'com.ad4screen.sdk:A4SSDK:3.5.+;
Error : Unable to create service com.ad4screen.sdk.service.ActivityLifecycleListenerService: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.toUri(int)' on a null object reference
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2771)
at android.app.ActivityThread.access$1800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.toUri(int)' on a null object reference
at com.ad4screen.sdk.common.i.c(SourceFile:429)
at com.ad4screen.sdk.service.ActivityLifecycleListenerService.onCreate(SourceFile:32)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2761)
at android.app.ActivityThread.access$1800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
I really need help :)
Thanks for your positive replay

Closed why? Is there any link to the solution?

We have stopped supporting Backendless and released a new version of the app which uses Firebase cloud messaging. I would recommend upgrading to that. To use Firebase with the current version you should see this guide.

Nice, and all the packages I have purchased previously are fully supported in this new version?

Currently the only module that's not supported is location based chat. That will be added in the next few weeks. I'll be making the other modules available tomorrow.

So I will be able to download them directly like an update or I will need to ask you for them?

They should be available in an update. If not, I can send them directly.


Add WinSeparator highlight

This fixes https://github.com/nyoom-engineering/oxocarbon.nvim/issues/82

Was going to submit a pull request and then saw yours!!  Thanks!
Probably not a huge thing.  I noticed that the new default theme does a link:
(custom-set-face! :WinSeparator [] {:fg oxocarbon.base01 :bg oxocarbon.base00})
(custom-set-face! :VertSplit [] {:link WinSeparator})

Fixed in https://github.com/nyoom-engineering/oxocarbon.nvim/pull/90, sorry didn't see this earlier


Multiple NuxtJS Instances

Hei! I wonder if nuxtjs can multiply installed on a shared express framework. like one nuxtjs for storefront another nuxtjs setup for admin dashboard but sharing the same express app.js
something like this can be achievable?
Eg :
./
--server
--storefront -> srcDir for storefront
----pages
----components..
--dashboard -> another srcDir for admin dashboard
----pages
----components..
--app.js
--nuxt.config.js
--package.json
nuxt config can be an object like
storefront: {
 "head": {},
 "build": {}
},
dashboard: {
 "head": {},
 "build" : {}
}

I have something like this:
.
├── node_modules/
├── src/
|   ├── storefront/
|   |   ├── nuxt.config.js
|   |   ├── pages
|   |   └── components
|   └── dashboard/
|   |   ├── nuxt.config.js
|   |   ├── pages
|   |   └── components
|   └── shared/
|       ├── nuxt.config.js
|       └── components
|
└── package.json

Both config files from storefront and dashboard  extend the shared/nuxt.config.js because I have some things that I don't want to duplicate.
In storefront/nuxt.config.js I have:
{
   srcDir: __dirname,
   buildDir: '.nuxt/storefront',
   ...
}

And dashboard/nuxt.config.js:
{
   srcDir: __dirname,
   buildDir: '.nuxt/dashboard',
   ...
}

And my scripts in package.json look like this:
"scripts": {
  "storefront:dev": "nuxt --config-file src/storefront/nuxt.config.js -p=3000",
  "dashboard:dev": "nuxt --config-file src/dashboard/nuxt.config.js -p=4000",
  "dev": "concurrently \"npm run storefront:dev\" \"npm run dashboard:dev\"",
  "storefront:build": "nuxt build --config-file src/storefront/nuxt.config.js",
  "dashboard:build": "nuxt build --config-file src/dashboard/nuxt.config.js",
  "storefront:start": "nuxt start --config-file src/storefront/nuxt.config.js",
  "dashboard:start": "nuxt start --config-file src/dashboard/nuxt.config.js"
},

I use concurrently so I can run both apps from the same command.
Now I can build and run both apps from the same source code.

@cretueusebiu Thank you for this! Very appreciated man!

in my case using express, this makes two different applications using same express base.

@cretueusebiu How did you solve when merging front/dashboard configs with the shared config that contains the extend () { ... } function? I get other objects/arrays working.

The build property is not shared in my case.

excuse me..
I run npm run build using concurrently to build all projects, its successfull, but I want make shared modules to separate folder, so in each build folder, there are no duplicated modules.. what should i do?

@ngodink , you should create a folder in the root directory then create symlinks to it in each nuxt app folder.

@motia , @cretueusebiu .. sorry, how i use the "shared" folder from storefront/dashboard directory (ex: creating global instances or calling methods from shared folder) ? give me an example please..

can i still have a main config file like this :
. ├── node_modules/ ├── src/ |   ├── storefront/ |   |   ├── nuxt.config.js |   |   ├── pages |   |   └── components  |   └── dashboard/ |   |   ├── nuxt.config.js |   |   ├── pages |   |   └── components  |   └── shared/ |       ├── nuxt.config.js   |       └── components    |     └── package.json -------nuxt.config.js (this has the common conifg file like global css('bootstrap') .. etc)
thanks


Is there a discrepancy in the type of service name?

The client.send expect a service_name as bytes but the worker expects a str.
Would it be possible to support the same type on both sides or maybe better support both?

I can confirm this is an issue, and will try to fix. Most likely, we'd want to support both bytes and str as input in both. Need to ensure we don't (yet) break Python 2.7 support here as well.

This should be fixed by #2

👍 thank you so much @shevron


Cell.absorb does not preserve hierarchy

Describe the bug
Not sure if truly a bug, but definitely is confusing. Currently, the Cell.absorb method does not preserve hierarchy. In stead it just flattens the to be absorbed reference and adds the polygons to the cell. In my opinion, only the top-level reference should be absorbed and any hierarchical references should be added to the cell on which we called absorb
To Reproduce
cell1 = gf.Component()
cell2 = gf.components.mzi()
cell1.absorb(cell2)

Expected behavior
after the absorb, you're only left with polygons in cell1. In stead we should have references to the individual components in cell2.
Suggested fix
Make a PR that changes the behavior of cell.absorb or if you're afraid to break things, at least add a flag to preserve hierarchy.

Hi Floris,
absorb only works for references that are inside a cell
import gdsfactory as gf

cell1 = gf.Component()
ref = cell1 << gf.components.mzi()
cell1.absorb(ref)
cell1.show()


Making a Change to an existing transaction crashes the app

When I update an existing entry of a transaction, like the type of the transaction or the group the app crashes.
Steps to reproduce

Create a new transaction and fill in the required fields
Save the transaction
Open an existing transaction, and change its group
Save the change

Output
The app hangs and crashes
Stack trace
(NickvisionMoney.GNOME:2): Gtk-CRITICAL **: 08:53:37.896: gtk_widget_get_parent: assertion 'GTK_IS_WIDGET (widget)' failed

(NickvisionMoney.GNOME:2): Gtk-CRITICAL **: 08:53:37.896: gtk_widget_add_css_class: assertion 'GTK_IS_WIDGET (widget)' failed
Registering new type NickvisionMoneyGNOMEControlsGroupRow with parent AdwActionRow
Registering new type NickvisionMoneyGNOMEControlsTransactionRow with parent AdwPreferencesGroup
Unhandled exception. System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Image`1'.
   at SixLabors.ImageSharp.Image.ThrowObjectDisposedException(Type type)
   at SixLabors.ImageSharp.Image.EnsureNotDisposed()
   at SixLabors.ImageSharp.Image.SaveAsync(Stream stream, IImageEncoder encoder, CancellationToken cancellationToken)
   at NickvisionMoney.Shared.Models.Account.UpdateTransactionAsync(Transaction transaction) in /run/build/org.nickvision.money/NickvisionMoney.Shared/Models/Account.cs:line 847
   at NickvisionMoney.Shared.Controllers.AccountViewController.UpdateTransactionAsync(Transaction transaction) in /run/build/org.nickvision.money/NickvisionMoney.Shared/Controllers/AccountViewController.cs:line 647
   at NickvisionMoney.GNOME.Views.AccountView.<>c__DisplayClass92_0.<<EditTransaction>b__1>d.MoveNext() in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 1087
--- End of stack trace from previous location ---
   at NickvisionMoney.GNOME.Views.AccountView.<>c__DisplayClass92_0.<<EditTransaction>b__0>d.MoveNext() in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 1087
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

Denaro Version: 2023.2.2
OS: Fedora Linux 37 (Workstation Edition) x86_64
Kernel: 6.1.14-200.fc37.x86_64

When you first created this transaction, did you add a receipt?

https://github.com/nlogozzo/NickvisionMoney/releases/tag/2023.3.0-beta1


Update quickstart-sample-app-introduction.md

@gkgaurav31 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Restoring old tests WIP DO NOT MERGE

I'm going through the repo and mostly just abusing the pull request feature to run tests and see how stuff works. Thanks for the great project? So what's the deal with these old broken tests? Do we wanna remove it? Is it important to test tensors this way. In my humble opinion we can just remove them.

Much better to fix than to remove


[http] Gracefully handle HTTP request flood exceptions thrown from ConnectionManagerImpl::ActiveStream::sendLocalReply

Description: Gracefully handle HTTP request flood exceptions thrown when generating an internal response outside dispatch.
Risk Level: medium
Testing: H1 integration test
Docs Changes: n/a
Release Notes: n/a

Closing in favor of #10475


uartendpoint not working

[UartEndpoint serialin]
Device=/dev/ttyS1
Baud=115200
Proxy of mavlink not working as expected.  Source is definitely working, mavproxy with identical settings works as expected.
Apr 09 11:12:01 fnoop-joule mavlink-routerd[22045]: (endpoint.cpp:374) Open UART [4] /dev/ttyS1:115200 *
Apr 09 11:12:01 fnoop-joule mavlink-routerd[22045]: (endpoint.cpp:463) Open UDP [5] <IP_ADDRESS>:14570 *

Please give more information, in our drone we use the uart as source and it works fine.

I just tested master branch and it seems to work fine with the following configuration file:
[General]
TcpServerPort=5760
ReportStats=false

[UartEndpoint uart]
Device = /dev/ttyS1
Baud = 460800

[UdpEndpoint wifi]
Mode = Normal
Address = <IP_ADDRESS>

[UdpEndpoint ethernet-over-usb]
Mode = Normal
Address = <IP_ADDRESS>

Are you sure you are using the right tty?

Yes, I'm using /dev/ttyS1 115200 baud on the joule.  Identical settings works on mavproxy, run back to back without reboot or any other changes.  Could you give me a clue to produce something useful to help debug?

Checking what exactly mavlink-routerd is doing would be my first debug:
strace -e trace=desc -e read=4 -p $(pidof mavlink-routerd)

In which 4 is the fd number you got from Open UART [4]

$ sudo strace -ff -p 5056
strace: Process 5056 attached
epoll_wait(3,

Not a lot..
Nothing else is using it:
$ lsof |grep ttyS1
mavlink-r 5056             mav    4u      CHR               4,65      0t0         88 /dev/ttyS1

/usr/bin/python /usr/local/bin/mavproxy.py --master /dev/ttyS1 --baud 115200  --out=udpin:<IP_ADDRESS>:14570 --out=udpin:<IP_ADDRESS>:14571 --out=udpin:<IP_ADDRESS>:14572 --out=udpin:<IP_ADDRESS>:14573 --out=udpin:<IP_ADDRESS>:14574 --out=tcpin:<IP_ADDRESS>:5780 --out=tcpin:<IP_ADDRESS>:5781 --out=tcpin:<IP_ADDRESS>:5782 --out=tcpin:<IP_ADDRESS>:5783 --out=tcpin:<IP_ADDRESS>:5784

This works fine on the same system without a reboot or any other reconfiguration.

Humn... And what's the config file for mavlink-router?
You were using mavlink-router before... Do you know a commit in which it works for you?

I've just tried latest master, same thing.  I can't remember which commit it worked, sorry.  I've run it under strace, and can see it open the serial port:
open("/dev/ttyS1", O_RDWR|O_NOCTTY|O_NONBLOCK|O_CLOEXEC) = 4
ioctl(4, TCGETS2, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(4, TCSETS2, {0x1000 /* B??? */ -opost -isig -icanon -echo ...}) = 0
ioctl(4, TCFLSH, TCIOFLUSH)             = 0

It then seems to read some data in from serial:
read(4, "\376\32", 1120)                = 2
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4, "\356\1\1\33\211R#`\0\0\0\0\27\0\334\377\26\374\0\0\340\377\7\0k\377\233\0?\2\207/"..., 1118) = 731
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4<EMAIL_ADDRESS>1120) = 733
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4, "\376\32\36\1\1\33\241\245*`\0\0\0\0\27\0\335\377\31\374\377\377\341\377\6\0i\377\233\0?\2"..., 1120) = 733
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4<EMAIL_ADDRESS>1120) = 733
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4, "\376\tN\1\1\0\0\0\0\0\2\3Q\5\3\300%", 1120) = 17
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1

At some point however it stops and sits in a timer/poll loop with nothing else coming in:
read(4, "\376\32\274\1\1\33i\17i`\0\0\0\0\26\0\336\377\25\374\377\377\340\377\6\0k\377\233\0?\2"..., 1120) = 733
epoll_wait(3, [{EPOLLIN, {u32=7020560, u64=7020560}}], 8, -1) = 1
read(4, "\376\32\324\1\1\33\225\275l`\0\0\0\0\27\0\335\377\26\374\0\0\340\377\5\0j\377\233\0?\2"..., 1120) = 733
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=7077472, u64=7077472}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8

In case it matters, ctsrts is set to off for this link (within ardupilot).  ttyS1 did have a getty running on it but I've stopped it and didn't make any different.  I can shut mavlink-router down and startup mavproxy with identical settings and it talks to ardupilot perfectly over the same serial link (even with getty running).

I notice mavproxy opens the serial port and turns off DTR/RTS:
open("/dev/ttyS1", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
ioctl(3, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {B1200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCGETS, {B1200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCMBIS, [TIOCM_DTR])         = 0
ioctl(3, TIOCMBIS, [TIOCM_RTS])         = 0
ioctl(3, TCFLSH, TCIFLUSH)              = 0
pipe([4, 6])                            = 0
pipe([7, 8])                            = 0
fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
fcntl(7, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0

However as I write this mavlink-router has suddenly sprung into life and is working, and I can't reproduce the error.  So, sorry, I'll close this now and will reopen if I can reproduce it.

Ops, no it's reoccurred again after a reboot of both flight controller and companion computer.  I notice now it has high loss on both uart and udp endpoints:
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]: Endpoint UART [4] sysid: 1 {
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:         Received messages {
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 CRC error: 2 0% 0KBytes
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 Sequence lost: 271 20%
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 Handled: 1077 35KBytes
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 Total: 1350
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:         }
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:         Transmitted messages {
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 Total: 88 1KBytes
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:         }
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]: }
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]: Endpoint UDP [5] sysid: 252 {
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:         Received messages {
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 CRC error: 0 0% 0KBytes
Apr 22 10:40:42 fnoop-joule mavlink-routerd[3167]:                 Sequence lost: 6606 98%
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:                 Handled: 88 1KBytes
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:                 Total: 6694
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:         }
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:         Transmitted messages {
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:                 Total: 438 14KBytes
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]:         }
Apr 22 10:40:45 fnoop-joule mavlink-routerd[3167]: }

And if I restart the daemon, now it's working:
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: Endpoint UART [4] sysid: 1 {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Received messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 CRC error: 0 0% 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Sequence lost: 0 0%
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Handled: 3435 112KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 3435
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Transmitted messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 24 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: Endpoint UDP [5] sysid: 252 {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Received messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 CRC error: 0 0% 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Sequence lost: 1524 98%
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Handled: 24 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 1548
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Transmitted messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 292 9KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: }

Note no more errors on the serial link, but still a high 'Sequence lost' on the udp endpoint.

@fnoop can you connect mavproxy to one of these endpoints and look at the sequence lost number there?  I'm suspicious this number is wrong in mavlink-router... is it changing after some time or is it high in the beginning already?
Would be nice to check the following scenarios:

mavlink-router connected to the uart
mavproxy connected to mavlink-router via udp
check sequence lost on mavproxy

mavproxy connected to uart
mavproxy connected to mavproxy via udp
check sequence lost on mavproxy connected via udp

@fnoop What command did you run to read this?
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: Endpoint UART [4] sysid: 1 {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Received messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 CRC error: 0 0% 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Sequence lost: 0 0%
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Handled: 3435 112KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 3435
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Transmitted messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 24 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: Endpoint UDP [5] sysid: 252 {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Received messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 CRC error: 0 0% 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Sequence lost: 1524 98%
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Handled: 24 0KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 1548
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         Transmitted messages {
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:                 Total: 292 9KBytes
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]:         }
Apr 22 10:44:43 fnoop-joule mavlink-routerd[3238]: }

OK well I tried turning off RTS in the uartendpoint code, and it doesn't make any difference.
I note it seems to now work OK if I restart mavlink-router, it's the first run, oddly, that doesn't work.  Although in the past I'm sure multiple restarts didn't make it work.

@lucasdemarchi OK so restarting mavlink-router it sometimes works, sometimes doesn't - ie. it's intermittent.  If mavlink-router isn't working, it takes a while to restart it (using systemd), if it's working it restarts immediately.
When it's not working, mavproxy can't connect to it at all, when it is working mavproxy can connect to it just fine and the link is 100% ok (ie. 0% loss), so it's all or nothing which is the same thing I see when trying to connect a GCS to mavlink-router.  It either works perfectly or not at all.

@fnoop I think there's something different with your setup that I'm not able to reproduced. Besides this working on Aero RTF, I tried to test this with the following setup:

mavlink-router from master branch
pixhawk with ArduPilot connected via TELEM1 port to a usbserial
usbserial connected to my host computer

mavlink-routerd is started with:
./mavlink-routerd -r -e <IP_ADDRESS>:5000 /dev/ttyUSB0:115200

I can succesfully connect mavproxy to <IP_ADDRESS>:5000 or the examples/heartbeat-print.py script
I set the params on ArduPilot to match your setup:
SERIAL1_BAUD     115.000000
BRD_SER1_RTSCTS  0.000000
I did try setting the uart settings to something else before starting mavlink-router
Can you post the output of stty -F /dev/ttyS1 before and after starting mavlink-router/mavproxy?  Do you have the flowcontrol pins physically connected?

After boot, before running anything on ttyS1:
[dev] [mav@fnoop-joule ~]$ stty -F /dev/ttyS1
speed 9600 baud; line = 0;
-brkint -imaxbel

After starting mavlink-router for the first time (and it not responding to proxy requests):
[dev] [mav@fnoop-joule ~]$stty -F /dev/ttyS1c
speed 115200 baud; line = 0;
min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo

And after restarting a couple of times until it works:
[dev] [mav@fnoop-joule ~]$stty -F /dev/ttyS1c
speed 115200 baud; line = 0;
min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo

This is after starting mavproxy (working, 100% reliable):
[dev] [mav@fnoop-joule ~]$ tty -F /dev/ttyS1
speed 115200 baud; line = 0;
min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

So connecting a GCS to working mavlink-router session gets horizon/data from the flight controller proxied as expected.  However, disconnecting and reconnecting the GCS a couple of times then stalls.  Here is the point at which the link dies and doesn't come back:
epoll_wait(3, [{EPOLLIN, {u32=16719888, u64=16719888}}], 8, -1) = 1
read(4, "\376\34\5\1\1\36\254\330=\0U\306\230=\211$\333\274\220\354\233>\\\177\204\272b\221\317\274\3715"..., 1120) = 144
sendto(5, "\376\34\5\1\1\36\254\330=\0U\306\230=\211$\333\274\220\354\233>\\\177\204\272b\221\317\274\3715"..., 36, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 36
sendto(5, "\376\30\6\1\1\262~\314\271=\243u\354\274zQ\255>\0\0\0\0\0\0\0\0\0\0\0\0\215U", 32, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 32
sendto(5, "\376(\7\1\1\266U\306\230=\211$\333\274\220\354\233>\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 48, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 48
sendto(5, "\376\24\10\1\1J\0\0\0\0\307\4K<=\n7@\0\0\0\0\21\0\0\0A=", 28, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 28
epoll_wait(3, [{EPOLLIN, {u32=16719888, u64=16719888}}], 8, -1) = 1
read(4, "\376\34\t\1\1\36\17\331=\0\270\307\230=%}\333\274\216\357\233> \304\334\271BD\320\274\221i"..., 1120) = 144
sendto(5, "\376\34\t\1\1\36\17\331=\0\270\307\230=%}\333\274\216\357\233> \304\334\271BD\320\274\221i"..., 36, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 36
sendto(5, "\376\30\n\1\1\262\235\351\271=\16\355\353\274,X\255>\0\0\0\0\0\0\0\0\0\0\0\0\35\352", 32, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 32
sendto(5, "\376(\v\1\1\266\270\307\230=%}\333\274\216\357\233>\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 48, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 48
sendto(5, "\376\24\f\1\1J\0\0\0\0J4?<=\n7@\0\0\0\0\21\0\0\0Q\r", 28, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 28
epoll_wait(3, [{EPOLLIN, {u32=16719888, u64=16719888}}], 8, -1) = 1
read(4, "\376\34\r\1\1\36t\331=\0\16\303\230=\351\323\333\274T\357\233>\32H\206\272\237\330\327\274\207#"..., 1120) = 144
sendto(5, "\376\34\r\1\1\36t\331=\0\16\303\230=\351\323\333\274T\357\233>\32H\206\272\237\330\327\274\207#"..., 36, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 36
sendto(5, "\376\30\16\1\1\262\33\331\271={\217\353\274\207V\255>\0\0\0\0\0\0\0\0\0\0\0\0\\\r", 32, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 32
sendto(5, "\376(\17\1\1\266\16\303\230=\351\323\333\274T\357\233>\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 48, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 48
sendto(5, "\376\24\20\1\1J\0\0\0\0,\2302<=\n7@\0\0\0\0\21\0\0\0\342\f", 28, 0, {sa_family=AF_INET, sin_port=htons(55580), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 28
epoll_wait(3, [{EPOLLIN, {u32=16776800, u64=16776800}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=16776800, u64=16776800}}], 8, -1) = 1
read(11, "\1\0\0\0\0\0\0\0", 8)         = 8
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "HELLO", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 5
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\t`\374\1\0\0\0\0\0\6\10\300\4\3k\352", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 17
write(4, "\376\t`\374\1\0\0\0\0\0\6\10\300\4\3k\352", 17) = 17
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6a\374\1B\2\0\1\0\2\1|\327", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6a\374\1B\2\0\1\0\2\1|\327", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6b\374\1B\3\0\1\0\6\1{\325", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6b\374\1B\3\0\1\0\6\1{\325", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6c\374\1B\n\0\1\0\n\1pd", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6c\374\1B\n\0\1\0\n\1pd", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6c\374\1B\n\0\1\0\n\1pd", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6c\374\1B\n\0\1\0\n\1pd", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6d\374\1B\n\0\1\0\v\1J\236", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6d\374\1B\n\0\1\0\v\1J\236", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6d\374\1B\n\0\1\0\v\1J\236", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6d\374\1B\n\0\1\0\v\1J\236", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6e\374\1B\2\0\1\0\f\0012\231", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6e\374\1B\2\0\1\0\f\0012\231", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6e\374\1B\2\0\1\0\f\0012\231", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6e\374\1B\2\0\1\0\f\0012\231", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6f\374\1B\2\0\1\0\1\1\376\230", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6f\374\1B\2\0\1\0\1\1\376\230", 14) = 14
epoll_wait(3, [{EPOLLIN, {u32=16719392, u64=16719392}}], 8, -1) = 1
recvfrom(5, "\376\6g\374\1B\2\0\1\0\3\1\327x", 1120, 0, {sa_family=AF_INET, sin_port=htons(51006), sin_addr=inet_addr("<IP_ADDRESS>")}, [16]) = 14
write(4, "\376\6g\374\1B\2\0\1\0\3\1\327x", 14) = 14

@fnoop  can you test if #77 helps with your issue?  I couldn't test it on a Joule yet, but I hope this fixes it.

@lucasdemarchi  I'm afraid not:
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]: Endpoint UART [9] sysid: 1 {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         Received messages {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 CRC error: 46 4% 1KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Sequence lost: 628 66%
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Handled: 272 9KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Total: 946
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         }
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         Transmitted messages {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Total: 12 0KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         }
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]: }
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]: Endpoint UDP [4] sysid: 252 {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         Received messages {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 CRC error: 0 0% 0KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Sequence lost: 762 98%
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Handled: 12 0KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Total: 774
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         }
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         Transmitted messages {
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:                 Total: 0 0KBytes
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]:         }
Apr 27 10:02:34 maverick-joule mavlink-routerd[21615]: }

Stopping mavlink-router and starting mavproxy without doing anything else, mavproxy works with 0% loss on the link.
I note from my strace of mavproxy above that it actually seems to turn ON flow control?
ioctl(3, TIOCMBIS, [TIOCM_DTR])         = 0
ioctl(3, TIOCMBIS, [TIOCM_RTS])         = 0

Dunno how that could help, but I added it nonetheless to that PR.

One thing that could be happening is the underlying device dropping.  This should be better handled by mavlink-router with a big warning about this and probably try to reopen the fd like is done for TCP reconnection.
Anyway, the issue for this ticket seems to be fixed


Discussion: Supporting for Precompiled Privacy Computing Gadget.

As the ZKrollup and on-chain privacy attract a lot of attentions and have massive application perspectives, we should consider adding the neccessary built-in functions, including

File storage. (Stores the customized ZK verification key, in size of megabytes.)
Basic operations for different elliptic curves.
Artimetic circuit friendly cryptographic primitives, such as Poseidon hash function.
Special data structure, e.g. Commitments with simple membership proof (Merkle Tree).

The most convenient API way is to provide an internal contract interface.

But before we do that, we should think in what these properties can bring for Conflux ecology.

But before we do that, we should think in what these properties can bring for Conflux ecology.

Closing due to inactivity. Feel free to comment if you'd like to continue the discussion. Thank you!


Can't add custom DNSCrypt resolvers and resolvers missing from "dns.d0wn.biz"

Hello, Thank you for give us the nice software. I know the SimpleDnsCrypt get resolvers from website https://dns.d0wn.biz/, but dnscrypt-resolvers.csv miss ns1.hk.dns.d0wn.biz(China Hong Kong), I don't know why. I get an idea add the resolver to dnscrypt-resolvers.csv, but it update each time after the software startup and the add custom added item missing. So please kindly check the issue.
Thank you!

It update from there: https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv
You need to send a pull request to dnscrypt-proxy.
It will be overwritten, because the minisig signaure will be invalid


What is the default resolution (level) used by from_polygon?

Hopefully not level 27. That would mean that by default we trixelate boundaries at the 8cm level.

default is indeed 27. It has caught me several times!!
There should not be any default. Specifying level should always be required


[Perl] Align Makefile and default.mk more with Ruby

By using the same build targets, where possible, and the same
division of concerns between 'pre-release', 'test', 'clean' and
'publish', the release process be more comprehensible for non-Perl
contributors.

That requires using the new version of the build image?
If so, maybe we should use that new version as part of that PR?

Exactly! And seems like the right thing to do, to include the upgrade of
the image, indeed.


fixes bug 1259146 - Change behavior of Contributor Privacy Level

Coverage increased (+0.01%) to 84.784% when pulling fd08f8559045d9232454b65ae1c58bdf471334a5 on peterbe:bug-1259146-change-behavior-of-contributor-privacy-level into 858bb39cc54f13f6a1b5b9cfbd383a9138e06aa2 on mozilla:master.


Feature aabbtree

Whats new:

OLAABBTree implementation copied from Dragon Engine
Draw AABB
Show performance comparing: quadtree, aabbtree and both combined.

Changes requested by @JoanStinson are pushed! You can review and merge.

Merging is blocked @Dartemiss, I guess Mario has to accept changes also!


bugfix: add tag omitempty for the fields in some data structures

Bugfix

Description
Using clientset to create ApisixRoute will get error spec.http.backend: Invalid value: "null" when only set backends
Related issues:
#621
How to fix?
adding omitempty to not-required field

@chzhuo I rewrote the title to make it more semantic.

请问下我是安装最新的helm，还是说代码中引入的依赖升到最新版本解决这个问题？


Log output during /actuator/refresh call

Is your feature request related to a problem? Please describe.
When an "old-style" reload finds some changes in configmap o secret it puts some info into the log like:
2023-11-16 13:05:26,718 - xxx-cc77b79d5-dfr4l - INFO  [pool-16-thread-1 - trace=N/A, span=N/A] o.s.c.l.LogAccessor: Detected change in config maps

calling /actuator/refresh says nothing in the log
Describe the solution you'd like
It would be nice to have such a log when calling /actuator/refresh endpoint
Describe alternatives you've considered
None
Additional context
None

Wouldn't this log statement do the same thing?
https://github.com/spring-cloud/spring-cloud-kubernetes/blob/main/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/reload/ConfigurationChangeDetector.java#L50

I don't think that this is what OP is asking for. That log statement still comes when we receive an event from kubernetes about the state of a certain configmap.
What they want is a log statement when /actuator/refresh is called directly, like with curl for example. This is how I read this, at least.

Exactly. That's because of migration to Spring Cloud Configuration Watcher which calls /actuator/refresh.

@litepl I think you should have mentioned that in the initial description. We have a bunch of logs from configuration watcher side for this. At the moment they are on debug mode though. For example, this this log statement.
But again, that is in the configuration watcher, not your application. Will that suite your needs?

Not exactly. To me, it'd be better to have that information in the app's log, not in sckcw ones. It's easier to create alerts for that as an example.

So you want a log statement here?
https://github.com/spring-cloud/spring-cloud-commons/blob/main/spring-cloud-context/src/main/java/org/springframework/cloud/endpoint/RefreshEndpoint.java#L41

Yes. Not I want to, I would like to :D

I am still inclined not to do this. A log statement there does nothing useful, imho; but if someone really needs it, its really easy to write your own Listener as outlined above.
Especially since a call to /refresh might come from some other caller, not only the configuration watcher. We can't even distinguish where the call comes from, as such the log statement can not even contain "configmaps" or "secrets" words.
We do have proper logs that would make far more sense and they come from the configuration watcher, from the source. If alerts can be created on the app, then Im sure alerts can be created on the watcher also.
This is my view on this issue, at least at the moment :)

Well this is not the repo for the request as the code that handles the /refresh endpoint lives in Spring Cloud Commons.  It is not specific to Kubernetes its any Spring Cloud application.  If you would like, you can submit a PR to add the log statement and we can see what the rest of the team thinks.


Skeleton

@imsickofmaps Please review. App naming is perhaps not consistent enough between FamilyConnect and CHMS-Uganda.

:+1:


Slightly shorten intro texts

Summary of the changes / Why this is an improvement
Slightly shorten the texts and avoid repetitions.
Checklist

[ ] Link to issue this PR refers to (if applicable):
[x] CLA is signed

Hi. I've just updated this patch a bit using a dedicated commit. Is it acceptable to merge like this?


TinyGo support?

Hi, just wondering if this library would work on https://tinygo.org/

I don't know, haven't tried it out yet.


handle filenames with spaces more nice with internal linking

If I got a file like "silly name.md", would be nice if I was able to link to it with [target](silly name.md). At the moment, I have to escape it myself...  [target](silly\ name.md).

This is the CommonMark implementation, nothing we can do :/


list only USB storage

i want to list only USB devices.  serial, name and mount. and send to index.html  in radio button list...

[ ] USB Device 1   serial number, name, dev/sbd
[ ] Usb Device 2  serialnumber  name, dev/sbd

DId you find a way to do this?

The electron example does most of this:
https://github.com/node-usb/node-usb-example-electron


Change my article's author to my display name

I hate my username, replace @TheDrawingCoder-Gamer with Bulby in the "by ..." sections of my articles.


Option to exclude shift-click and cmd-click from triggering transitions

Is there a way to exclude shift-click and cmd-click from triggering swup transitions? For when a user wants to open a link in a new page/tab.

Changing the following line in the index.js fixed it for me
if (!event.metaKey)
to
if (!event.ctrlKey && !event.shiftKey)

Hi,
shift-click is not implemented in swup right now... will fix that.
cmd-click seems to work as expected anywhere I test it. Is it something you have found not working properly as well? If so, can you please share where?
Thanks for reporting!

After testing it again cmd-click on Mac works as expected. The problem seems to be with Windows Keyboards and ctrl-click which should have the same functionality as cmd-click.
event.metaKey seems to be false in those cases.
See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/metaKey

Swup now detects press of shift/ctrl/cmd/alt keys, prevents from running the transition and doesn't rewrite the native behavior of the browser when one of the keys is pressed.
@usame-algan thank you for digging into it.


Added support for Katana

can you merge main in your branch?
there are some conflicts, and the changes to add nuke show as new files in the commit diff since you havent merged back yet


Purpose of JSON module

Hi there, I don't get what is the purpose of using some JSON module since you use only parse and stringify functions. We already have window.JSON in javascript and it does the job well.
Even if you need the module because you're running your code in some environments different from browser or Node you should have noticed it in the package.json

Hi @kucherenkovova, you raise a valid point. Here's the source code for the JSON module:
`var json = window.JSON || {};
var stringify = json.stringify;
var parse = json.parse;
module.exports = parse && stringify
? JSON
: require('json-fallback');`
As you can see, it actually tries to use window.JSON if available, if not then it falls back to this json-fallback module. I would guess in 99.9% of cases, window.JSON is available and just uses that. The reason it was originally added was because we don't want to make any assumptions about the client's environment. I think there was a point where JSON wasn't universally supported by browsers. We might consider supporting only "modern" browsers, and drop this module

That module isn't in the src/ directory now and causes an error if someone wants to use with node (using<EMAIL_ADDRESS>I installed with<EMAIL_ADDRESS>using, and using with<EMAIL_ADDRESS>npm install amplitude/Amplitude-Javascript --save-dev

Figured out that component is needed, it would be handy if this was npm complete.


Need Code Snippets and Tests for Troubleshooting Guide

Please move records.create with parent id code  from the Troubleshooting Guide into code snippets with tests so that if the API changes, we know to update this guide.

Sending to @blackgirlbytes for visibility and resolution


Write up the derivation of Yan algorithms

And the implementation!

Update: I actually did this, but my gradients don't match. Can't seem to find an error.


tf-next: Use target server

This removes the need for adding a target to the next.config.js
ToDo:

[ ] Use built-in nft from Next.js
[x] Use new launcher for Next.js server
[ ] Add support for minimal mode
[ ] Add bridge support for esm modules

Changes

All Next.js apps "> 10.0.9-canary.4" are build with default target (server)
Upgrades @vercel/nft from 0.10.0 to 0.17.0

Fixes #86.

Official Next.js runtime is finally back from stealth: https://github.com/vercel/vercel/pull/7793


Error 500 when scraping 1 out of 4 Fortigate firewalls

Hi,
First of all, thanks for a great exporter.
We are using this to scrape four firewalls in total, at different locations.
Three of them work fine, but one gives an error in Prometheus /targets,
server returned HTTP status 500 Internal Server Error
Let's call the working ones fw1, fw2 and fw3, and the non-working one fw4
From the Prometheus server I can scrape this firewall manually just fine:
curl -k 'https://<ip of fw4>:8443/api/v2/cmdb/firewall/address?vdom=root&access_token=<redacted>'
Output:
{
  "http_method":"GET",
  "revision":"3ebf11d4279c8c3450fa3c22132ffa07",
  "results":[
    {
<cut to the end>
    }
  ],
  "vdom":"root",
  "path":"firewall",
  "name":"address",
  "status":"success",
  "http_status":200,
  "serial":"<redacted>",
  "version":"v6.2.4",
  "build":1112
}

Fortigate exporter logs reports it can scrape just fine:
Jun 16 11:50:35 prometheus01 fortigate_exporter[3217205]: 2021/06/16 11:50:35 Probe of "https://<ip of fw4>:8443" succeeded, took 0.305 seconds
Jun 16 11:50:47 prometheus01 fortigate_exporter[3217205]: 2021/06/16 11:50:47 Probe of "https://<ip of fw1>:8443" succeeded, took 0.345 seconds
Jun 16 11:50:54 prometheus01 fortigate_exporter[3217205]: 2021/06/16 11:50:54 Probe of "https://<ip of fw3>:8443" succeeded, took 0.381 seconds
Jun 16 11:50:59 prometheus01 fortigate_exporter[3217205]: 2021/06/16 11:50:59 Probe of "https://<ip of fw2>:8443" succeeded, took 0.447 seconds
Jun 16 11:51:05 prometheus01 fortigate_exporter[3217205]: 2021/06/16 11:51:05 Probe of "https://<ip of fw4>:8443" succeeded, took 0.311 seconds

There are no logs in Prometheus indicating an error.
Scrape config in prometheus should be identical for all four firewalls:
scrape_configs:
  - job_name: fortigate_exporter
    metrics_path: /probe
    relabel_configs:
    - source_labels:
      - __address__
      target_label: __param_target
    - regex: (?:.+)(?::\/\/)([^:]*).*
      source_labels:
      - __param_target
      target_label: instance
    - replacement: localhost:9710
      target_label: __address__
    static_configs:
    - targets:
      - https://<ip of fw1>:8443
      - https://<ip of fw2>:8443
      - https://<ip of fw3>:8443
      - https://<ip of fw4>:8443

How can I troubleshoot further?

Hello!
What do you get if you manually try to curl or browse to the scrape target? I.e. you try to manually scrap through the exporter.

Hi!
Great point, thanks.
Yeah, that doesn't look right:
# curl http://localhost:9710/probe?target="https://<ip of fw4>:8443"
An error has occurred while serving metrics:

9 error(s) occurred:
* collected metric "fortigate_ipsec_tunnel_up" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > gauge:<value:1 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_transmit_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:1.33863462e+08 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_receive_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:3.4914303e+08 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_up" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > gauge:<value:1 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_transmit_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:1.44948035e+08 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_receive_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:1.236217302e+09 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_up" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > gauge:<value:0 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_transmit_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:0 > } was collected before with the same name and label values
* collected metric "fortigate_ipsec_tunnel_receive_bytes_total" { label:<name:"name" value:"MMX-VXO" > label:<name:"parent" value:"MMX-VXO" > label:<name:"vdom" value:"root" > counter:<value:0 > } was collected before with the same name and label values

Reasonable error as this label exists on fw1 as well, as they are connected with site2site VPN:
# curl -s http://localhost:9710/probe?target="https://<ip of fw1>:8443" | grep MMX-VXO
fortigate_ipsec_tunnel_receive_bytes_total{name="MMX-VXO",parent="Malm",vdom="root"} 2.03439178e+08
fortigate_ipsec_tunnel_receive_bytes_total{name="MMX-VXO-2",parent="Malm",vdom="root"} 1.20602456e+08
fortigate_ipsec_tunnel_receive_bytes_total{name="MMX-VXO-3",parent="Malm",vdom="root"} 3.252216e+07
fortigate_ipsec_tunnel_transmit_bytes_total{name="MMX-VXO",parent="Malm",vdom="root"} 1.200406086e+09
fortigate_ipsec_tunnel_transmit_bytes_total{name="MMX-VXO-2",parent="Malm",vdom="root"} 3.19890955e+08
fortigate_ipsec_tunnel_transmit_bytes_total{name="MMX-VXO-3",parent="Malm",vdom="root"} 25017
fortigate_ipsec_tunnel_up{name="MMX-VXO",parent="Malm",vdom="root"} 1
fortigate_ipsec_tunnel_up{name="MMX-VXO-2",parent="Malm",vdom="root"} 1
fortigate_ipsec_tunnel_up{name="MMX-VXO-3",parent="Malm",vdom="root"} 1

fw2, fw3 and fw4 are all connected with site2site VPN to fw1, it looks like we don't get that error on the other firewalls because the naming is different there, with the physical placement of the firewall (town) always first, and the connecting town last.
I'll check with the network team if we can change the naming and if that makes it work.

Update - apparently these can't be renamed. We'll destroy and recreate them at an appropriate time.
But I guess this can be a problem in the exporter if you have several firewalls and have to make sure that the site2site VPN's have unique names on each firewall. Would an additional label solve this?

Would an additional label solve this?

It would indeed. Do you happen to have any suggestion on some thing we could use to differentiate?
Looking at https://github.com/bluecmd/fortigate_exporter/blob/master/testdata/ipsec.jsonnet there appears to be not many fields we could use - but maybe since you are in an environment where this is happening you could look at the API endpoints (just go to them in your browser when logged in to a Fortigate as normal) and see if you can spot some sort of extra ID we could use to differentiate.

As you mentioned there are not that many fields to use.
Only thing that comes to mind is to differentiate with creation_time, but that doesnt really feel like a good idea.
Or possibly, to use "serial" to differentiate, as that should be unique.
For reference, to check this on the command line I used
curl -k -H "Authorization: Bearer XXXXX" 'https://<address>:8443/api/v2/monitr/vpn/ipsec?vdom=root'
This is what a snippet of what I get:
      "name":"MMX-VXO",
      "comments":"VPN: MMX-VXO (Created by VPN wizard)",
      "wizard-type":"custom",
      "creation_time":3961048,
      "type":"automatic",
      "incoming_bytes":304787679242,
      "outgoing_bytes":130305473759,
      "rgwy":"<redacted>"
    }
  ],
  "vdom":"root",
  "path":"vpn",
  "name":"ipsec",
  "status":"success",
  "serial":"<redacted>",
  "version":"v6.x.x",
  "build":xxxx

Am I correct to assume that any IPsec tunnel in a HA cluster would have this issue? Trying to paint myself a picture.
Would you mind uploading the full response you get from the IPsec API endpoint? You can of course redact anything you want, as long as things that are equal stay equal. You can also email it to me at github _a_ cmd _dot_ nu if you prefer.
I'd like to create a repro in my own environment to see what the best way forward would be.

I would say it's not dependent on a HA cluster, but any time you collect metrics from two or more separate firewalls where these firewalls have identical names for the ipsec-tunnel, that would cause an issue.
I will email you the result of the output from the firewall that's not working, with some minor redactions.

I just realized we had this PR merged a while back: https://github.com/bluecmd/fortigate_exporter/pull/86
It should be part of v1.4.2 or newer. I think this should fix this issue.

Late to the party here, didn't have time to test it out until now.
Can confirm that this issue is solved for us by updating to a newer version (1.13.0 in our case).
Thanks!


Bruker tango

added new block types for broker tango file.
can now be parsed

added stops if a block type is not implemented. we can discuss about the message that is shown ;)

@philipp-baumann merge this as soon as possible if you are happy with the changes.
Then make a rebase into #32

Thanks for the good implementation! just manually tested on the Tango file, works as it should. Let's address the message in a separate pull request, I can do one. Will rebase into #32 after the merge.


Modify ZPM Analytics

Event Category - module name
Event action - version
Event Label - IRIS Product, Platform, Version

Vladimir Mologa suggests
changing Event Label  to  "IRIS Product, Platform, Version"
and don't change other properties


GraphQL/UnusedArgument should respect ruby ...

Hello,
rubocop-graphql should respect ruby ... (shorthand syntax for forwarding arguments to a method).
Example code:
def resolve(...)
  Forms::UpdateUserForm.new(context, ...)
end

Good point! Do you want to try to implement this? 🙂

I try to fix this. #79


Use Sentry scopes

This call to Sentry doesn't work as the update from Raven isn't backwards compatible with the params passed in.
Updated to use scope and also add test coverage.

 Sentry: Exception around sign in token destroy


Reorder teardown of clone test to avoid dangling VM

Signed-off-by: Alex Kalenyuk<EMAIL_ADDRESS>
What this PR does / why we need it:
We first strip down the SA from its permissions, and only then issue a Delete() of the VM.
This results in a dangling VM because any Update() (remove finalizer, for example) will fail
on admission hook (don't have the right permission any longer).
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm
/approve

/hold
might be worth to handle on infrastructure level


Generated bot file is missing configuration for some of the provisioned services

Tool
Name: [Msbot|
Version: 2.0.5-61
OS: Win10
Describe the bug
msbot clone
This is the confirmation prompt I see

generated bot file includes only :

abs
original development
blob (this was not listed)

Generated bot file is missing:

production end point
app insights (even after including entry in the recipe file, app insights is missing)

To Reproduce
Steps to reproduce the behavior:

run msbot clone services on 02.Echobotwithcounter

using this recipe file
{
  "version": "1.0",
  "resources": [
    {
      "type": "endpoint",
      "id": "1",
      "name": "development",
      "url": "http://localhost:3978/api/messages"
    }
  ]
}

Expected behavior
Bot file should include a list of all resources that get created.
Update
When including production in the recipe it was included in the generated .bot file
    {
      "type": "endpoint",
      "id": "2",
      "name": "production",
      "url": "https://your-bot-url.azurewebsites.net/api/messages"
    },

[bug]

bot files are deprecated


Issue with Swift 3.0 beta

Hi,
I am getting a error with 3 bits of code when compiling in Xcode 8 beta 6:
    func prepareForSegue(_ segue: UIStoryboardSegue, sender: AnyObject) {
        if let identifier = segue.identifier {
            self.currentSegueIdentifier = identifier
            super.prepare(for: segue, sender: sender)
        }
    }

gives error Method 'prepareForSegue(_:sender:)' with Objective-C selector 'prepareForSegue:sender:' conflicts with method 'prepare(for:sender:)' from superclass 'UIViewController' with the same Objective-C selector
    func shouldPerformSegueWithIdentifier(_ identifier: String, sender: AnyObject) -> Bool {
        if self.currentSegueIdentifier.isEqual(identifier) {
            //Dont perform segue, if visible ViewController is already the destination ViewController
            return false
        }
        return true
    }

gives error  Method 'shouldPerformSegueWithIdentifier(_:sender:)' with Objective-C selector 'shouldPerformSegueWithIdentifier:sender:' conflicts with method 'shouldPerformSegue(withIdentifier:sender:)' from superclass 'UIViewController' with the same Objective-C selector
and
    func setTrianglePlacement(_ trianglePlacementVal: Float) {
        trianglePlacement = trianglePlacementVal
    }

gives error Method 'setTrianglePlacement' with Objective-C selector 'setTrianglePlacement:' conflicts with setter for 'trianglePlacement' with the same Objective-C selector
I dont suppose you have a fix for these?

It looks like I fixed those issues but forgot to push them to CocoaPods. I am working on pushing it now, so check back soon!

I got version 2.0 up. Try updating and see how it works!

many thanks, I shall try this shortly :+1:

Got it working perfect thanks.  Do you have a working sample project? I cannot get the Example to install correctly?

I am going to make a couple of changes to the Pod for it to work. I found some issues while I was working on the example project, which you can find here (The dropdown works, but the segues don't). Hope this answer it!


Configurable Parent Labels

Hi @aaronj1335,
We have some users who are not wanting to have parent labels created (#57). This Issue is to track adding a configuration for the feature (so it can be disabled).

I added PR #73 which adds configurability to this.


LB 1.8.7 doesn't safe my local.dat

I created multiple accounts, but doesn't matter if I enter the login information, they don't save it. Even when I check both boxes to remember the information.

Do you mean it's not creating a new .dat file for the account and it's bringing up the old one?

Same here. The loginfile method has never worked for me. I tried deleting my account info and loginfile as per your reddit comment, but now when I try to set a new loginfile, when I press play it just launches the client to character select screen, the little window doesn't disappear by itself, and it doesn't create any dat file.
Before I deleted my accounts the little window used to disappear, and it looked as if worked, but it just kept overwriting 0.dat instead of creating other ones for other accounts, and the login details weren't saved either.

The 1.dat, 2.dat and 3.dat got created under LB but they are all the same (from the first account) with the same user name. I used the tool to set the login but that doesnt change anything. I tryied to created those dat file too, by login one at the time using the realgw2 launch and saving those as 1.dat, 2.dat ...  didnt change anything. I can see the local.dat is now a shortcutI will guess made my LB.

New patches fixed the issue, thanks


Fix printing in IE11. Fixes #4129.

Tested in a VM; seems to work after this fix.
@Garbee or @surma: PTAL!

LGTM

Thanks, @Garbee!


fix_shape() in use_tensorrt_safe_mode is called differently

Hi,
Thank you for developing this amazing tool.
I noticed that the function fix_shape is used differently in the following two places:
master branch detection.py#L194
        try:
            classes = classes[keep]
            boxes = boxes[keep]
            masks = masks[keep]
            scores = scores[keep]
        except IndexError:
            from utils.logging_helper import log_once
            log_once(self, "issue_27_flatten", name="yolact.layers.detect", message="Encountered IndexError as mentioned in https://github.com/haotian-liu/yolact_edge/issues/27. Flattening predictions to avoid error, please verify the outputs. If there are any problems you met related to this, please report an issue.")

            keep = torch.flatten(keep, end_dim=1)
            idx = torch.nonzero(keep, as_tuple=True)[0]

            classes, boxes, masks, scores = [flatten_index_select(x, idx, end_dim=1)
                                             for x in (classes, boxes, masks, scores)]

        classes, boxes, masks, scores = fix_shape(classes, boxes, masks, scores)

Please notice that fix_shape is outside the except block. Therefore, if there is no IndexError, the fix_shape will be still be called. Now please see the second use of fix_shape()
haotian-dev branch detection.py#L220
            keep = torch.flatten(keep, end_dim=1)
            idx = torch.nonzero(keep, as_tuple=True)[0]

            classes, boxes, masks, scores = [flatten_index_select(x, idx, end_dim=1)
                                             for x in (classes, boxes, masks, scores)]
            classes, boxes, masks, scores = fix_shape(classes, boxes, masks, scores)

Please notice that in this case, fix_shape is being called after flatten_index_select.
I am wondering if I am missing something. Please have a look.

fix_shape is implemented to solve TensorRT engine related issue, thus we only need it when we want to resolve all TRT issue -- the TensorRT Safe Mode.

Yes. You are right.
Please allow me to rephrase myself. I am trying to say that here in detection.py#L191-L194, fix_shape should be a part of the except block. Right now, in the master branch, the fix_shape  is called even if there is no IndexError.

You might notice that earlier, there is no fix_shape function. I implemented this to fix TensorRT engine related issue, and I also noticed that sometimes the IndexError won't be triggered but there was still the issue. That's why I moved this out.
But as I have previously said, it is only needed to resolve TRT issue, thus in my dev branch, I placed it under the if statement instead of applying it to all cases.

I agree.
https://github.com/haotian-liu/yolact_edge/blob/3aa5e39db1ed1a057baf79c2e1a74debc7ee83d8/layers/functions/detection.py#L179-L194
The above code is taken from the master branch. Please pay attention to line number 194. Now, as per your recent addition of use_tensorrt_safe_mode in haotian-dev branch, we can see the following extension :
https://github.com/haotian-liu/yolact_edge/blob/c28ddb6d2d130046828106d275069905e2460d54/layers/functions/detection.py#L209-L220
The above code is taken from the haotian-dev branch. Please pay attention on how fix_shape is called in two different ways (i.e., master branch vs haotian-dev branch).
In conclusion, I think that in the master branch, at line number 194, there should be 4 extra spaces so that fix_shape is called only in case of IndexError after flatten_index_select. (I have not verified my claim, so please ignore if needed)

I might not have been clear enough. fix_shape is introduced to resolve a case that we see when TensorRT engine is enable, but it does not necessarily trigger a IndexError. Thus, it should be apply to all the case so that we handle all those cases. However, we do not see that happening when TensorRT is not enabled. Thus we only apply to one branch for TensorRT-Safe-Mode. Hope this clarifies your doubts.


makepath functions signature

Hi,
First, thanks for the very quick fix on the previous comment!
Back to code :-)
Wouldn'it be better to have const char *dir input parameter for these two functions?
https://github.com/troglobit/libite/blob/be6f276557ab85cef4a8d681b2970990070d05c9/makepath.c#L32
https://github.com/troglobit/libite/blob/be6f276557ab85cef4a8d681b2970990070d05c9/makepath.c#L59
When passing std:string::c_str() for example, it would work without any cast.
Minor remark, this include is useless:
https://github.com/troglobit/libite/blob/be6f276557ab85cef4a8d681b2970990070d05c9/makepath.c#L22
Regards,

Pull requests are most welcome :)
Also, please open a new issue instead of reusing a closed one.

Please, forget the minor remark, I think I understood why it is important to keep "lite.h"


Fix/update workflow

#8 Updated dependencies and made workflow similar to studiokit-net-js.

Test comment

Test

Test

When building the lib folder, the correct files are getting built, in that there's a .js file and a corresponding d.ts file. However, these files are inside a src folder which is inside the lib folder, inside of being at the root of lib. There's also an extra tests folder inside the lib folder
studiokit-net-js

This branch

That it's building the right files is fantastic though!

When building the lib folder, the correct files are getting built, in that there's a .js file and a corresponding d.ts file. However, these files are inside a src folder which is inside the lib folder, inside of being at the root of lib. There's also an extra tests folder inside the lib folder
studiokit-net-js

This branch

That it's building the right files is fantastic though!

Fixed.

@tirkarp when i check out and run yarn i am setting this change in yarn.lock

@tirkarp when i check out and run yarn i am seeing this change in yarn.lock

also fixed. yarn problem 😅

I got this error when running tests, which I believe was due to not using a built version. This was a user error on my part and not a problem with the library
Cannot find module 'studiokit-caliper-js' from 'caliper.js'

    However, Jest was able to find:
    	'../../utils/caliper.d.ts'
    However, Jest was able to find:
    	'sagas/rootSaga.d.ts'
    	'sagas/rootSaga.js'

    You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'].

    See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string

    However, Jest was able to find:
    	'redux/configureStore.d.ts'
    	'redux/configureStore.js'

    You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'].

    See https://jestjs.io/docs/en/configuration#modulefileextensions-array-string

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
      at Object.<anonymous> (node_modules/studiokit-scaffolding-js/lib/utils/caliper.js:6:46

After creating a built version and using it in another project (https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js/-/commits/feature/caliper-update-built) and attempting to run yarn build, I get this error. I'm not sure if this error is due to how I'm using it or an issue with the library
node_modules/studiokit-caliper-js/lib/browser-caliper-service.d.ts:5:16 - error TS1005: '(' expected.

5     constructor: typeof BrowserCaliperService;
                 ~

Found 1 error.

@tirkarp I think the issue above is due to a mismatch in Typescript versions https://forum.ionicframework.com/t/getting-error-ts1005-expected-what-does-it-mean/51106
This library is using 3.9.3 and scaffolding is using 3.7.5. Our other projects are also using 3.7.5. Just to be safe, we probably want this library to use 3.7.5 as well

After creating a built version and using it in another project (https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js/-/commits/feature/caliper-update-built) and attempting to run yarn build, I get this error. I'm not sure if this error is due to how I'm using it or an issue with the library
node_modules/studiokit-caliper-js/lib/browser-caliper-service.d.ts:5:16 - error TS1005: '(' expected.

5     constructor: typeof BrowserCaliperService;
                 ~

Found 1 error.

Cloned the branch and ran yarn build on scaffolding, and it worked fine for me. Did you yarn it before you build?

Cloned the branch and ran yarn build on scaffolding, and it worked fine for me. Did you yarn it before you build?

I'll try it again. We might still want the Typescript versions to match but not completely sure what the implications are there

Because other libraries are surely using different Typescript versions

And now I'm getting this when using the new scaffolding with Circuit and Variate 😓
../studiokit-scaffolding-js/node_modules/react-overlays/esm/Dropdown.js Attempted import error: 'useUncontrolledProp' is not exported from 'uncontrollable'.

With both Typescript 3.9.3 and 3.7.5
I ran yarn cache clean and deleted all my node_modules

Using the fix/update-workflow-built branch, I got the error TS1005 message
Using the non-built branch, yarn build worked

But, I do believe we need to be using the built version when using this library. Part of the step of publishing to NPM is doing yarn build

Ah. Finally got the error reproduced.

I was hoping the Typescript source code might have more details about what the TS1005 error is but unfortunately it does not https://github.com/microsoft/TypeScript/blob/v3.7.5/src/compiler/diagnosticMessages.json#L10

Fixed, I think. It might have been a Babel issue where it fails to transpile old JS code into TS, so I changed that file to use ES6 syntax. @gavin-brown can you confirm that it works on your machine?

With that update, scaffolding-js built successfully when using the built version of this library! And then the tests passed in Circuit. The next step will be to deploy Circuit to dev and test there

It took me a while but I finally got this going on Circuit dev. Once I did, I got this error

That could be an issue with how studiokit-scaffolding-js is using this library. It's currently being used like this: service = new StudioKit.BrowserCaliperService(options)
With the updates, it might need initialized differently?

Yep, usage in scaffolding needs updated. It's not an issue with this library
https://github.com/purdue-tlt/studiokit-caliper-js/pull/9#issuecomment-645541070


I want to simplify writing queries using placeholders.

	public static string Select(this SelectQuery source, string placeHolderIdentifer, string column, object value)
	{
		var pname = placeHolderIdentifer + column;
		source.Select(source.AddParameter(pname, value)).As(column);
		return pname;
	}

Closed as it has been addressed in another issue.
#304
#305