Accounting - Not here page opens after disconnecting QBO when it is connected via Old Dot

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.15-4
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
Action Performed:

Go to staging.new.expensify.com
Create a new workspace.
Go to workspace settings and do not enable accounting.
Log in to Old Dot with the same account.
Connect to QBO on Old Dot.
Return to New Dot.
Go to Accounting.
Click 3-dot menu next to QBO > Disconnect.
Disconnect QBO.

Expected Result:
App will remain on Accounting page.
Actual Result:
Not here page opens after disconnecting QBO when it is connected via Old Dot.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/2c9d14fa-8181-4329-b13f-0ea03475c756

View all open jobs on GitHub

imo should not block the deploy. @arosiclair might have some insight into this one?

Haven't looked at the connect/disconnect functionality yet. Looks like this PR is closely related though. @carlosmiceli @NJ-2020 can you take a look?

@arosiclair This is because the areConnectionEnabled is false but there is a connection QB data, so when we disconnect the QB the connection data become empty and the checking condition become false, so it show 404 page not found

@eVoloshchak are you able to look at this soon?

When we connect an integration in OD, the areConnectionsEnabled still is false in ND because the user did not explicitly enable accounting on ND.
So when the connection is disconnected in ND, it shows 404 page because it's now an inaccessible page.

@daledah, areConnectionsEnabled shouldn't be false if QBO is connected

Here the QBO is connected, which means connectedIntegration is not empty, shouldn't areConnectionsEnabled be true?
Can we use the withPolicyConnections hook to re-fetch this?

before removing the connection we need to navigate to the workspace profile/workspace list/other fallback page first

It should stay on the same page (Accounting), just with QBO disconnected

@daledah, thank you for the explanation
The expected result is "App will remain on Accounting page", which would happen only if accounting is enabled in ND.
I think the way to achieve this is if you connect a QBO, the Accounting should be automatically enabled for the workspace.
Does that seem right to you?

What's the latest on this one @eVoloshchak @daledah ?

According to a discussion on Slack:
Accounting should be automatically enabled for the workspace if user is enabling QBO (or any other integration) in OldDot
Do you agree? If so, we should mark this Internal

If we should enable accounting whenever we enable any connection in OldDot, that condition will be meaningless and we should only check areConnectionsEnabled.

Hmm... I think I disagree, but could use @trjExpensify's thoughts here. I believe the toggle design is there to entice people to "enable" them (which triggers an upgrade flow).
So, I think as soon as you add a connection it is very logical for us to set areConnectionsEnabled: true.
But if you remove one, we don't necessarily need to toggle it off and probably shouldn't. It's still "enabled" because you've set up an accounting package. So, we should only toggle it on when you add one not when you remove the final one or something.
So, I agree with @eVoloshchak that this should be internal.

@bfitzexpensify I'm OOO Aug 19-30, adding leave buddy.
Status: internal issue, waiting for solution and build

This is on production now so I think we can close it out.


feat(templates): update SQL Server

update templates.json for SQL Server

ping

All SQL server images are now served by mcr.microsoft.com


Adding annotations to tests in webdriverIO and sauce

I am trying to add annotation to my tests to list down different steps in the test report when it shows on  sauce lab.
I want to show it as shown in the sauce documentation below

Have not found any way to do this so far
I am following this
https://wiki.saucelabs.com/display/DOCS/Annotating+Tests+with+Selenium's+JavaScript+Executor
Tried adding this context to the expectationHandler in jasmineNodeOpts
jasmineNodeOpts : {
      expectationResultHandler: function (passed, assertion) {
          // do something
          if (!passed) {
              browser.execute(passed => `sauce:context=This line`, passed);
          }
      }
    },

Any help is really appreciated

Issue resolved with adding below in test
browser.execute("sauce:context=Starting test");


WebChat Secret Management

Directly from (CSS) Jimmy Russ, as an ask.
Concrete instructions how to use a token for webchat (in C#). There is a "Hard to find" blog for node, but that's it.
We have guidance around "Don't expose your secret", but not guidance around how to actually achieve this.
CSS Ask: Full e2e app/sample working for how to do this.
@yochay has suggestions how to do this.

Note: There is significant frustration around this.

"Customers give up and just embed the secret in the web page".

FWIW: I have a C# bot that, once deployed with a directline channel implemented, takes the DL token and exchanges it for a secret.
https://github.com/jwiley84/SimplifiedDLConnector/tree/master/JJDirectLineBot

I have a simple version for node https://github.com/tdurnford/BotBuilder-Samples/blob/2a700aa5b66fd858df35d5279ef847a140121382/samples/javascript_nodejs/48.directline-token/index.js#L55

I have a simple version for node https://github.com/tdurnford/BotBuilder-Samples/blob/2a700aa5b66fd858df35d5279ef847a140121382/samples/javascript_nodejs/48.directline-token/index.js#L55

@tdurnford  I have a little node sample that I have sent customers as well but it lacks documentation. https://github.com/jiruss/WebchatApp/edit/master/app.js
@jwiley84 we run a bot internally that I have similar C# code for that we have shared on occasion.
I want to clarify that the issue is not that we don't have source for the token swap but we lack a clear and concise working sample that isolates just this functionality that can easily be sent to customers. Your code is fine but some customers are not sure how to get this from your code sample into their own environment. Ideally a well documented sample from one of the official repos or in Docs would be best and instill the most confidence.  Thanks!

@jiruss : Oh, I know. I made that example BECAUSE a customer needed one and couldn't find one.

Related to this sample request: https://github.com/microsoft/BotFramework-WebChat/issues/1412.

@WashingtonKayaker opened a PR in the samples repo demonstrating how to manage Direct Line tokens
https://github.com/microsoft/BotBuilder-Samples/pull/1733

The issue you have linked does not cover my above problem. From what I can tell there are no samples detailing how directline should be properly integrated into the webchat. Currently the webchat does not handle fundamental use cases. Neither are there cohesive samples demonstrating how your product should be used in a really world scenario. There are basic scenarios that need to be addressed.

The token server sample should include adding a user id to the Direct Line token request to support enhanced authentication and traditional welcome messages in Web Chat.
server.post('/directline/token', async (req, res) => {
  try {
    //
    const id = Date.now() + '-' + Math.random().toString(36).substr(2);

    const response = await fetch('https://directline.botframework.com/v3/directline/tokens/generate', {
      body: JSON.stringify({ user: { id }}),
      headers: {
        'authorization': `Bearer ${process.env.DIRECT_LINE_SECRET}`,
        'Content-Type': 'application/json'
      },
      method: 'POST',
    });
    const token = await response.json();

    res.send(token);
  } catch (error) {
    console.log(error);
    res.status(500);
  }
});

References

Direct Line Authentication
Enhanced Authentication
Web Chat Welcome Messages

Hello everyone. I work in the Bot Framework SDK doc team. My good friend in the support team made me aware of this issue while I was trying to streamline our current documentation on Web Chat channel/control. This is the article: Connect a bot to Web Chat. As this issue highlights, even if we discuss secret, token and so forth, we do not provide an example of a web page where we can show the use of the token without embedding the secret in the web page itself, which will defeat the purpose, obviously.
An article that comes closer to the answer is this: Authentication. If you scroll to the end of the page, you see 2 examples (C# and JS) of controllers that will get the secret and return the token.
But we do not show a web page that uses them. Can somebody help to create a simple example that does just that?
Any help is appreciated.
PS
This post I wrote does not address the secret/token issue but highlights the difference between Web Chat channel and Web Chat control that is a little blurry currently.

Are you open to a PR that adds a sample for this? For the same reasons above (repeated requests for guidance, falling back to secret, etc.), I'm creating a sample that demonstrates retrieving a user-specific Direct Line token. It doesn't exactly meet the requirements here, but I think I can address the gaps pretty easily:

It goes one step further since it is using an ID token from AAD (or other identity provider) to validate the user ID, which I think is useful, but I could isolate that piece to avoid confounding too many concepts.
Currently it only contains the backend API. I could make it end-to-end by including a simple bot and a simple page that embeds WebChat.
Currently it only exists in TypeScript. I could add JS and C#.

@navzam your contributions are MORE THAN welcome! Please let us know if you have questions. I suggest creating it as your own project first, and later on we can discuss possibly moving it into our samples section.
In reply to your bullets:

This sounds great. One thing we struggle with is introducing too many concepts in a single sample. Any way you can split concepts up is appreciated. If it's a large enough section, should we consider having it as it's own sample?
Having a simple bot / basic Web Chat would help match our samples section format, so this sounds good to me
Having all three languages would be wonderful. Based on our samples history, JS would be highest priority in terms of sharing on Web Chat.

@navzam and @corinagum  I wholly heartedly support the effort. A simple example in JS (a small web app?) that shows how to generate a token from the Web Chat channel secret will go a long way. It would help to have one in C#, too. I could incorporate the sample into the Bot Frameworks SDK documentation  where we talk about the Web Chat channel and Web Chat control.

@navzam Did you ever work on SSO with Web Chat?

@corinagum I've simplified the sample (took out the AAD part), added a C# API in addition to the JS API, and added a very simple bot and HTML page that embeds WebChat. I pushed it to my own repo here: navzam/direct-line-token-sample.
What's the next best step? I'd love to get a review from someone, including for the README since I think the documentation will be key.
I'm creating a separate sample at navzam/user-direct-line-token-sample that shows the bit with AAD that I mentioned before. It isn't ready yet, but I was hoping to get the process started with the first sample since a lot of the code is shared anyway.

@mmiele I've done some digging into SSO with WebChat, specifically how to reuse a user's identity on an already-authenticated site (see navzam/webchat-authed-site-sample) and how to silently acquire an AAD token that your bot can use (see navzam/webchat-silent-sso-sample). I think these are separate from the secret management issue, but I'm happy to discuss on a separate issue if useful.

@navzam Thank you for your feedback. Let's keep the SSO separated from the main discussion on this thread. I just started looking more closely into the SSO/Web Chat area. I'll get in touch with you on Teams.

@navzam Thank you so much! Due to time constraints I won't be able to get to a code/tutorial review right away, but this is absolutely on my radar and I'll get back to you!

An update: I finished up the user-specific Direct Line token sample. It's essentially an extension of the more basic sample above, incorporating AAD tokens to ensure consistent and verifiable user IDs.

@navzam I'm sorry that this slipped through the cracks and I never got back to you. Are you still available to review these samples? If so it'd be great if we could discuss how best to add your examples to Web Chat's repo and get signoff from our other developers. Please let me know if you're still interested in this. Our preference would be that you submit a pull request and continue discussion from there.

@corinagum Yeah let me take a look at the existing Web Chat samples and see if I can match the format. Then I can submit a pull request.


adjustWorkbox passing event listener

Hi, am I able to pass something like this to the adjustWorkbox function?
self.addEventListener('message', event => {
      if (!event.data) {
        return;
      }

      switch (event.data) {
        case 'skipWaiting':
          self.skipWaiting();
          break;
        default:
          // NOOP
          break;
      }
});

No don’t think so - that appears to be code that would run inside of a Service Worker, not code that’s used to configure Workbox.


Adding Philipp-Matthäus-Hahn-Schule

This PR adds the Philipp-Matthäus-Hahn-Schule – Gewerbliches Schulzentrum Balingen. It's a secondary school ("Gymnasium" in German) and a professional school ("Berufsschule" in German). Several subjects having something todo with information technology, electronics, crafting and personal hygiene are taught there.
There are two domains used for e-mailing<EMAIL_ADDRESS>for students and<EMAIL_ADDRESS>for teachers. They're both redirecting to the homepage of the school, gsz-zak.de.

@jarne Pull request merged. Thank you!


Pikabu 2.0: how to mark up the body content

The readme for Pikabu 2.0 needs to indicate what the minimum expected markup that works.
Currently, the readme essentially asks you to do this:

    Your pikabu content

But that's not enough.. it doesn't say how to mark up the body content too. I had to add the following markup in current project:

        // header, main, footer would go here

What is supposed to be the markup for it? Thanks.

@vmarta do you know if we're using Pikabu 2.0 in any projects?

@donnielrt sorry for the delay. JTV uses pikabu 2: https://github.com/mobify/jtv-mobile/blob/master/bower.json#L20


stdlib: make NewtypeWrapper.swift conform to coding style and reduce redundancy

@swift-ci Please test and merge

Spurious failure on OS X, retrying.
@swift-ci Please test OS X platform


Add Snow Possible

New Feature
https://www.bordersweather.co.uk/wxsnow.php?1638214717#data
https://community.home-assistant.io/t/local-offline-self-hosted-weather-forecast/349135/24
This will need Freezing Line and Cloud Base to perform comparisons to determine if probable conditions for snow exist.
All the following must be true for snow to be possible:
Temperature less than 4.1 and snow height is less than 100ft, sleet is possible.
Temperature less than 2.1 and snow height is 0ft, snow is possible.
Dew point is 1C or below, snow is possible.
Wet bulb is below 2.1, snow is possible.
Freezing Line below Cloud Base
I need to look at this more but this is a good starting point.  Probably not needed to pass the individual results of the tests and just pass the Yes or No to Snow being possible.  I plan on only outputting the final yes/no for snow possible unless someone thinks pushing out the binary sensors to user is useful.
Additional context
No response

Consider using low pressure as an indication; low pressure drives moisture up for clouds and snow formation.

Snow Possible, this true along with cloudy with produce an output of snow.
var temperature = msg.temperature
var freezing_level = msg.freezing_level
var cloud_base = msg.cloud_base
var dew_point = msg.dew_point
var wet_bulb = msg.wet_bulb
var snow_line = freezing_level - 750 // 500 ft, 150 m
var station_height = 325 // in feet for now

// Convert from F to C
// 2.1C = 35.78F, 1C = 33.8F, 4.1C = 39.38F, -40F = -40C
temperature = (temperature - 32) / 1.8
dew_point = (dew_point - 32) / 1.8
wet_bulb = (wet_bulb - 32) / 1.8

if ((temperature <= 2.1) && (snow_line <= station_height) && (dew_point <= 1) && (wet_bulb <= 2.1) && (freezing_line <= cloud_base) && (temperature >= -40)) {
    msg.snow = 'true'
} else {
    msg.snow = 'false'
}

return msg

} else if ((snow == 'true') && (cloudy == 'true')) {
    msg.current = "Snowy";

Cloudy is figured out separately.
Probability of Snow:
var temperature = msg.temperature
var dew_point = msg.dew_point
var snow_possible = msg.snow
var A = dew_point + temperature
var snow_prob

// Convert A from F to C
A = (A - 32) / 1.8

if (snow_possible == 'true') {
    snow_prob = 80 - 10 * A
} else {
    snow_prob = 0
}

msg.snow_probability = snow_prob
return msg

As stated elsewhere, all the code I am testing is in JavaScript being used in Node-Red with the data being pulled from WeatherFlow2MQTT and then fed back to Home Assistant.  I am posting here if other would like to comment or test.  I will 'eventually' get this added here.

Waiting to make sure Fog Probability has no issues, then Snow Probability will have PR

Fog and Snow Probability both are in Dev.
Fog is not tracking correctly, so still tracking down the issue there.
I'm in the Northern Hemisphere so it will be awhile before I test the Snow Probability (it does not tend to snow at 90F/32C usually)

Closing since Fog and Snow are in; I will work issues but sensors are getting to HA.


Headline with the h2 Element

Challenge headline-with-the-h2-element has an issue.
If i click run test i can't see the text of the test cases and i can ALWAYS pass the challenge even if the code is not correct!

@computerluca closing as duplicate of https://github.com/FreeCodeCamp/FreeCodeCamp/issues/10966. Happy coding!


Consistent Naming

The extension should get a consistent naming - "OpenShift Local" instead of CRC. And it should also use the OpenShift icon

We do this already. Only the development codebase is called crc


UPI install requires manual intervention to complete install: Machine-Config Operator Degraded

Affects:  OKD-4.8 and OKD 4.9
The Machine Config Operator will remain in a degraded state, looking for a rendered-master machine config that does not exist.
Executing the following will force the generation of the missing rendered-master:
oc delete mc 99-master-okd-extensions 99-okd-master-disable-mitigations

Looks similar to #963

Yes, I believe it is.  We can mark this as a dup if you want to reopen #963.
I am booting from the FCOS that is extracted from the bundle:
FCOS_VER=$(openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.qemu.release')

Lets move there, seems MCO is inconsistently applying kargs (also probably the issue in #1014 )

Dup of #963


Training data for EfficientViT-L2

Hi, I 'm just curious about the training data of those pretrained EfficientViT-L2. Is it trained on ImageNet-1K or ImageNet-22K?

They are trained on ImageNet-1K with random initialization for 300 epochs + 20 warmup epochs using supervised learning.


Add coverage report of cpp_devel

In GitLab by @cmastalli on Aug 9, 2019, 18:07

In GitLab by @cmastalli on Aug 9, 2019, 18:07
assigned to @nim65s

In GitLab by @nim65s on Aug 9, 2019, 22:16
changed title from Add{-ed-} coverage report of cpp_devel to Add coverage report of cpp_devel

In GitLab by @nim65s on Aug 9, 2019, 22:16
changed the description

In GitLab by @nim65s on Aug 9, 2019, 22:45
I had to allow failures again on 18.04, st. the CI could pass, to get the artifacts. They are available here: https://gepettoweb.laas.fr/doc/loco-3d/crocoddyl/cpp_devel/coverage/

In GitLab by @nim65s on Aug 9, 2019, 22:45
closed


Added Laterpay sponsorship.

This is one way to do it.

Fortunately we've spelt the sponsor's name correctly in the actual code change...
We shouldn't merge this until we've been told that Laterpay are happy with this.  I'll follow up with @doismellburning now.

Did we get an answer on this?


add csv and xlsx formats

Summary
Untie gzip method to build something more agnostic in order to be able to add other formats (such as formats which do not have multiple compressed files, but just a simple export file, like a CSV file for instance).
Add CSV format.
XLSX is added via a separate module: https://github.com/apostrophecms/import-export-xlsx (see PR).
Non-exhaustive list of the work done to separate concerns:

no apos instance in format files
no format specific stuff inside import.js and export.js files
usage of callbacks to deal with apos-specific attachment business in the gzip format and format-specific files handling on apostrophe side (ie: concerns are separated)
gzip import function handles the extraction AND the deletion of the archive on its own

Other improvements:

better handling of the streams and their error events
better handling and clarification of the double format.input() call, whether it is called with overrideLocale: true or not
refactor remove functions into one (except in gzip format where the remove function is standalone)
add logs:

on import and export side (prefixed by [import] and [export])
on formats side ([csv], [gzip], [xlsx])

add documentation to explain how add and register new formats

What are the specific steps to test this change?
For example:

Run the website and log in as an admin
Open a piece manager modal and select several pieces
Click the "Archive" button on the top left of the manager and confirm that it should proceed
Check that all pieces have been archived properly

What kind of change does this PR introduce?
(Check at least one)

[ ] Bug fix
[x] New feature
[x] Refactor
[x] Documentation
[ ] Build-related changes
[ ] Other

Make sure the PR fulfills these requirements:

[x] It includes a) the existing issue ID being resolved, b) a convincing reason for adding this feature, or c) a clear description of the bug it resolves
[x] The changelog is updated
[x] Related documentation has been updated
[x] Related tests have been updated

If adding a new feature without an already open issue, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

tests run in https://github.com/apostrophecms/testbed/pull/242


Fix ubuntu build

changes to enable xlang tools, PAL and to compile on Ubuntu 18.04 with clang 6. Tested via Windwos Susbsytem for Linux.
Note, convert_string functions in PAL remain unimplemented on non-windows platforms. As such, 4 of the PAL tests fail on Ubuntu. #47 opened to track the issue, assigned to @DefaultRyan.

Note, I'm merging this PR w/o @DefaultRyan approval, even though he's the PAL code owner. He's unavailable right now + he actually did most of the PAL changes in a different branch that I cherry picked into this one.


Isues Rendering

Which jcdcdev.Umbraco.ReadingTime version are you using?
Latest
Which Umbraco version are you using? For example: 10.4.0 - don't just write v10
Latest 13
Bug summary

When on a document type with template rendering the value. Unlike others properties I can not get the value you.
Returning a string, var or anything it is either null or errors.
Steps to reproduce
Just making a normal document type with template. Creating this field and rendering in the view @model.Value("NAME")
This is always null
Expected result / actual result
"1 minute" value for read time
Actual result is null.
The only way I can get the value is delving into the models .properties IEnumerable and getting it out of that.

To add to this, this is what I see in debug

Hi @PrettyDevelopers, thanks for taking time to report the issue you are experiencing.
I am unable to replicate this issue on the bundled v13 test site.
Model.Value("newsDynamicReadTime")

Model.Value<ReadingTimeModel>("newsDynamicReadTime")

Next Steps

Please can you confirm what is returned when calling Model.Value<ReadingTimeModel>("newsDynamicReadTime")?
Please send any log files generated during the time of the error
Please can you confirm this can be replicated on a clean install of Umbraco 13.3.0?

Hi.
No errors.
the using is not selected when I use it and the value output is not as you shown.
This can be replicated on the latest clean umbraco as well for me.

The using is greyed out so does not seem to be using it

The value in this case has 5 minutes in the admin but reporting 0 in debug


CCAudio.js 502 line webkitAudioContext not found createGain

device: ipod iOS 6.1.6 safari

@VisualSJ Please take a look

@pandamicro
This problem has been fixed.
https://github.com/cocos2d/cocos2d-html5/commit/038d25b729dfddd8292753da511d88fbe7272af4

@VisualSJ This problem is not appear in the 360browser, in iOS6.1.6 version of safari when loading the mp3 webkitAudioContext lack createGain method without exception handling can lead to crashes.
http://m14.yyport.com/error.jpg
http://m14.yyport.com/error.jpg
cocos2d version: cocos2d-js-3.3

@tmkook Can you try the patch in https://github.com/cocos2d/cocos2d-html5/commit/038d25b729dfddd8292753da511d88fbe7272af4 to see the result ? It should be able to fix your issue

@tmkook
The PR is repair “createGain” does not exist.
If manager create audio error, will automatically switch to domAudio~

@VisualSJ 你好，增加了异常处理崩溃的问题已解决但是似乎不够完美，一个场景只能播放一个声音并且还有延迟。

@VisualSJ https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/PlayingandSynthesizingSounds/PlayingandSynthesizingSounds.html
你好，我用这里的方法可以完美解决，希望cocos能早点兼容ios6


Add conv_vae_utils.py

Add AE/VAE implementation in JAX/Flax.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 205 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.5%) to 10.532%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

probml_utils/ae_jax.py
0
100
0.0%

probml_utils/conv_vae_utils.py
0
105
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
503

Relevant Lines:
4776

💛  - Coveralls


How to communicate with ECUs?

The purpose of this discussion is to find the optimal, generic interface to ECUs.
Reading into ECU tuning, I could not find any generic ECU open-source hardware or software, until I stumbled on this awesome piece of software http://www.tuneecu.com/ (don’t be tricked by the funny looking website, the community states it's legit.)
That software is not compatible with KTM dirtbikes though. A user on another forum noted, that official KTM software for ECU tuning, can be downloaded for free, but they charge $500 for the cable. The OBD connector is CAN-bus, while the tuneECU supports the KTM Duke 690 and 990 motorcycles, which use K-Line OBD. Here is the link to the forum: http://ecuhacking.activeboard.com/t49773328/interfacing-to-ktm-keihin-ecu-canbus/
Obviously, it would be terrific for us to be able to connect an IoT device directly to the ECU. There are cables for that, e.g. https://www.powercellperformance.com/shop/tuneecu-programing-cables/
IMHO if we could skip the piggyback hardware in favor of software, it will get us much closer to our goal. One way to do this, would be to install tuneECU on a Raspberry Pi, solutions for that were found after a quick google.
Questions:

any chance of creating a DIY CAN-bus connector?
how do we interact with tuneECU running on the Raspberry Pi, connected to the motorcycle?
any other thoughts?

You can order Can2Usb cable for 25$: https://m.aliexpress.com/s/item/32611523816.html?spm=a2g0n.search-cache.0.0.34656344ZS6HyG#autostay
With raspberry we need to use a module costs 1.51$ over SPI: https://m.aliexpress.com/s/item/32647462532.html?spm=a2g0n.search-cache.0.0.4b2e10c7PxJioy#autostay
Also some cables :)
Raspberry SPI, I2C tutorial: https://learn.sparkfun.com/tutorials/raspberry-pi-spi-and-i2c-tutorial

@decaun that is quite cool.
If I understand correctly, we can basically connect to the dirtbikes via a Raspberry Pi.
And to connect to a whole other set of machines, we could just use tuneECU.
So what remains is the software to actually communicate with the ECU.
Here is an interesting discussion on the subject:
https://thumpertalk.com/forums/topic/1126740-ktms-ust-or-user-tool-must-read/
They mention the map files, which are *.ksd
And here is the Windows program to use with the UST – User Setting Tool (which costs like $500):
http://www.ktm.com/us/service/maintenance/ So the purpose of those devices (hardware+software) is to read data from the ECU, and overwrite the fuel and ignition maps. Just what we need.
I wonder if the CAN2USB cable will allow us to connect? :) I guess if we get any communication from the ECU, we could try to reverse engineer the protocol, similar to what Sergey Pisarenko did here http://pisarenko.net/blog/2017/04/16/internet-connected-motorcycle-project/ with the Power Commander software.
Does that make sense to you?
My main concern is that, I would rather have the project focused on common solutions, rather then interfaces for particular machines. We need the prototypes, but how can we generalize the solution, and have as little hardware dependencies as possible?

@michalmikolajczyk well it depends on module we use, it can be receiver, transmitter or both depending on a chip it use. Tune ECU uses both rx/tx at can bus.
As far as i read Sergey Pisarenko already had usb connection at his bike via fuel injection module. If you have such device already it is pretty smart to use MQTT as him.
Can bus is asynchronius protocol without any clock. There is sync period between machines to decide baud rate. Maximum transmission speed is 1Mbps(16MHz).
As in http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/ we can use pwm to replicate can bus at GPIO ports but with lower speeds. Speed definitely depends on language we use as you can see (at kHz levels rather than MHz, 500x-1000x slower).
It also makes interacting with ECU a bit dangerous on the go. If you change fuel amount on the go that might cause engine to stop instantly and someone can crash.
It is possible to replicate can bus protocol with lower speeds. We just need to implement existing protocol.
Still my concern is having less data speed and energy efficiency since we will use cpu power on raspberry by increasing development time. I dont think it just worths to code it than using a cheap dedicated solution.
I used can2usb for a car to increase fuel efficiency before, its not that easy to tune it even you have expensive hw+sw. Especially on the go it is pretty dangerous. For me safest use case is to just monitor.

@decaun that is great insight!
communication with ECU
I am not sure if I understand this correctly though. I was most worried about 1. establishing communication with the ECU and 2. understanding the protocol and messages.
CAN-bus interface
Using GPIO ports to replicate can bus sounds awesome. Do you think we need the full app to use C, or just the GPIO CAN-bus replica driver?
safety
we definitely need to restrict tx access, while the machine is operating.
dedicated solutions
I did not quite understand that part. I am all in for quality. Our aim is to build a performant platform. I don't mind deciding to develop less, but I would rather not compromise on the performance of our product. We can rely on other solutions, as long as the license allows us to. We should make them options, if our end users would need to pay for that.
Please let me know what you had in mind.
RX / TX safety
I hear you. Let's keep in mind, that we are not making an end product, but a toolset / framework / platform. We can let our user – the engineer – take care of the particular safety and security precautions, specific to their application. What do you think?
question
are you sure that tuneECU uses CAN-bus? I thought they only used K-line, and I did not understand why open-source CAN-bus solutions were not available

@michalmikolajczyk
I suppose TuneECU uses more than one protocol regards to bike ECU. Please check: https://en.wikipedia.org/wiki/On-board_diagnostics#OBD-II
It goes like;
SAE J1850 PWM
SAE J1850 VPW
ISO 9141-2
ISO 14230-4
ISO 15765-4 CAN
SAE J1939
For raspberry it is pretty easy to handle ISO 15765-4 CAN at first glance.
Because GPIO pins are digital and at 3.3V with max preferred 16mA ratings, specialized hw could be necessary for each other protocol(since they are rated at 5-12V at unknown currents depens of bikes internal resistance etc.).
Challange is not hard if you consider to apply it to support only single bus interface. But if you are willing to support all those protocols above, it is rather complex.
After some research i found an open source hw+sw designed exactly for it already: https://hackaday.com/tag/iso-9141-2/
Instead of arm we can rewrite source code and run it on raspberry.
We can use multiple GPIO pins to drain less current from each and use minimum hardware implementation.
There is also pyobd http://www.instructables.com/id/OBD-Pi/
Im not sure if you can send data to ECU with pyobd since its meant to monitor it.
I think its not really necessary to have high data speed to communicate with ecu but drivers are written already at C++ why not take advantage of it.
Depending on your bike you already have we can pick one of those protocols and start to develop hw+driver. Than we can add support to other protocols exists.

@decaun thank you for this. I believe that our Alpha, which is the first prototype, is actually read only in terms of the ECU. So let's just do this, then.
I think it would be great if we would provide at least one end-to-end path, basically supporting at least one bus interface. We would need to make that driver modular, so that it could be replaced by another one, when it is prepared. I understand that because of the voltage differences, other devices would be needed.
The bike that I have, which has the most sophisticated ECU, is KTM SX-F 250 Factory Edition, Model Year 2017. I can't seem to find which protocol that one uses, but I'll drop by the garage and check on the device, perhaps there is some more info. The other bikes have carburetors, and not EFIs. We also have access to the same bike as Sergey Pisarenko, though he used the piggyback Power Commander hardware.

http://www.motorcyclistonline.com/all-about-tuning-your-bikes-efi-adding-power-commander-or-reflashing-ecu-motorcyclist-mc-garage-tech
http://www.vortexcdi.com/
https://thumpertalk.com/forums/topic/1087931-anyone-using-vortex-ecu-on-their-dirtbike/

@dyno-dave
Could you please give me the wiring of you diy adaptor cable between 6pin diag ktm connector and the odb interface you use.
I try to make my own but no connection success between my elm327 wifi adaptor and my ktm 350 exc-f ECU

There is an android phone app "Ecu Sensors" that works on KTM's. A bluetooth OBDII "Vgate" module that works to collect data with a custom wiring connector.

Hi there, there is an equivalent of this app on iso?
I'm looking for diag my ktm 350 exc-f with diy wire with a ELM327 interface, connections are good but nothing appends when smartapp  try to connect through elm327 on the ECU.
i'm try this with 5 apps but no result. But i'm sure it's possible as you can see (here)[https://www.youtube.com/watch?v=Oyv2TtxMmbg]

hi, sorry my english! I am from Brazil. (help google translate). - I want to develop connection to ktm exc 350 in OBD2. @dyno-dave A challenge code is sent to the ecu and and it responds with a hex value. You must do a calculation on the hex value and send it to the ecu within a certain time limit. (yes, ktm super adventure CAN BUS identical ktm offroad, for connect uses BUS CONTROLLER CAN) The CAN bus system is an intelligent data-bus and doesn't have fuses. If the system detects a higher level of current being drawn on a circuit due to an accessory connected to it, it will simply switch that circuit off. It puts an error message on your dash. That error message is basically telling you to go and make the local dealer a bit richer. Plus, your accessory still won't work!
I am sure you will be able to access...

controller can bus. Can we help each other<EMAIL_ADDRESS>

@dyno-dave looking into this as well.
i have an ecu on the way but any information you have to help with this project, i will be more then happy to share my solution once finished.

ok I'm testing with kessv2 but for now nothing to do

Hi everybody,
I raise the subject because I have just recovered a KTM Freeride 350 from 2015 with a power failure ... And with an ELM327 Bluetooth adapter, and an ODB2 cable to the KTM 6-pin connector (I checked the wiring), I can't connect to the ECU. However, I tried, by energizing the circuit (by forcing the main relay with a shunt) several times with Torque, Car scanner, and TuneECU, without success.
On this motorcycle, the ECU is new (KTM invoice April 2022) and it has never worked. I think there was never a map loaded inside and there apparently isn't one by default... So I would like to connect to the ECU and try to load a MAP.
Does anyone have any information on this?
In addition, I have an initial formation  in electronics and I develop C programs from time to time. So, I can help if necessary...
Thank you and good day.
Best regards.
Jacques

@dyno-dave can you contact me?

Hey MotoDan.  Drop me a note.  I don't check email often but I'll look for your note.On Jun 15, 2023 2:55 PM, MotoDan @.***> wrote:
@dyno-dave can you contact me?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi Dave,
Thanks for your reply. I hope I have the right
Dyno-Dave. I was searching for some KTM ECU
information and ran across a post of yours where
the discussion was how to connect to a pre-2017
KTM motocross ECU. I have a 2014 KTM 500 EXC and
have tried everything to connect to the OBD2
port(s). K-Line and CAN. You post suggested that
KTM has a secret handshake where a token is
passed, processed (calculated) and returned in order to make the connection,
Does this sound familiar? If so, I'd really
appreciate hearing more about the process.
Best regards,
Dan
At 02:30 PM 6/15/2023, dyno-dave wrote:

Hey MotoDan.Â  Drop me a note.Â  I don't check
email often but I'll look for your note.On Jun
15, 2023 2:55 PM, MotoDan @.***> wrote:
@dyno-dave can you contact me?
Reply to this email directly, view it on
GitHub, or unsubscribe.Yoou are receiving this
because you were mentioned.Message ID: @.***>

Reply to this email directly,
https://github.com/blockchain-IoT/Motoro/issues/4#issuecomment-1593610609view
it on GitHub, or
https://github.com/notifications/unsubscribe-auth/AHGXUKLES2HOG6LDLTET2ATXLNPFRANCNFSM4D5ZSLKQunsubscribe.
You are receiving this because you
commented.Message ID: @.***>

Will do.
Thanks Dave. I look forward to learning the secret!
Dan
At 07:27 PM 6/15/2023, you wrote:

Dan, I have that info but will have to dig for
it.Â  I have a lot on my plate at the moment and
might get to it next week.Â  I'm out of town at
the moment and don't have access to that
info.Â  If you can email a reminder Monday I
will look for it then.DaveOn Jun 15, 2023 3:37 PM, MotoDan @.***> wrote:
Hi Dave,
Thanks for your reply. I hope I have the right
Dyno-Dave. I was searching for some KTM ECU
information and ran across a post of yours where
the discussion was how to connect to a pre-2017
KTM motocross ECU. I have a 2014 KTM 500 EXC and
have tried everything to connect to the OBD2
port(s). K-Line and CAN. You post suggested that
KTM has a secret handshake where a token is
passed, processed (calculated) and returned in order to make the connection,
Does this sound familiar? If so, I'd really
appreciate hearing more about the process.
Best regards,
Dan
At 02:30 PM 6/15/2023, dyno-dave wrote:

Hey MotoDan.Ã Drop me a note.Ã I don't check

email often but I'll look for your note.On Jun

15, 2023 2:55 PM, MotoDan @.***> wrote:

@dyno-dave can you contact me?

ÂReply to this email directly, view it on

GitHub, or unsubscribe.Yoou are receiving this

because you were mentioned.Message ID: @.***>

Â

Reply to this email directly,

<https://github.com/blockchain-IoT/Motoro/issue
s/4#issuecomment-1593610609>view

it on GitHub, or

<https://github.com/notifications/unsubscribe-a
uth/AHGXUKLES2HOG6LDLTET2ATXLNPFRANCNFSM4D5ZSLKQ>unsubscribe.

You are receiving this because you

commented.Message ID: @.***>

Reply to this email directly, view it on
GitHub, or unsubscribe..You are receiving this
because you were mentioned.Message ID: @.***>

Reply to this email directly,
https://github.com/blockchain-IoT/Motoro/issues/4#issuecomment-1593881285view
it on GitHub, or
https://github.com/notifications/unsubscribe-auth/AHGXUKJR23YWZ7ATMGVIXNLXLOR6HANCNFSM4D5ZSLKQunsubscribe.
You are receiving this because you
commented.Message ID: @.***>

@dyno-dave, @MotoDan
Guys, im also still looking for this protocol. Please share with me when you find it.

For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file

Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

I'm wondering if the screen is dead.  I don't see anything coming up on it.  I'll try a separate monitor when I get a chance.On Jun 19, 2023 9:59 PM, MotoDan @.> wrote:
Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.***> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

If that doesn’t help, you might try another battery. Is it fairly old or has it been sitting uncharged for a long time?Good luck!On Jun 19, 2023, at 9:02 PM, dyno-dave @.> wrote:
I'm wondering if the screen is dead.  I don't see anything coming up on it.  I'll try a separate monitor when I get a chance.On Jun 19, 2023 9:59 PM, MotoDan @.> wrote:
Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.***> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.***> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi Dave,Just curious if you had any more info on this? My interest is to be able to query the ECU as one would do with and OBD2 computer.Thanks again for your help!On Jun 19, 2023, at 9:14 PM, Dan Doss @.> wrote:If that doesn’t help, you might try another battery. Is it fairly old or has it been sitting uncharged for a long time?Good luck!On Jun 19, 2023, at 9:02 PM, dyno-dave @.> wrote:
I'm wondering if the screen is dead.  I don't see anything coming up on it.  I'll try a separate monitor when I get a chance.On Jun 19, 2023 9:59 PM, MotoDan @.***> wrote:
Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.***> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.***> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi Dan.  That computer acts completely dead.  I need to pull the hard drives and see if I can recover them.  Right now I'm in Yellowstone for a couple of weeks on vacation.  On Jul 12, 2023 8:36 PM, MotoDan @.> wrote:
Hi Dave,Just curious if you had any more info on this? My interest is to be able to query the ECU as one would do with and OBD2 computer.Thanks again for your help!On Jun 19, 2023, at 9:14 PM, Dan Doss @.> wrote:If that doesn’t help, you might try another battery. Is it fairly old or has it been sitting uncharged for a long time?Good luck!On Jun 19, 2023, at 9:02 PM, dyno-dave @.***> wrote:
I'm wondering if the screen is dead.  I don't see anything coming up on it.  I'll try a separate monitor when I get a chance.On Jun 19, 2023 9:59 PM, MotoDan @.***> wrote:
Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.***> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.***> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi Dave,Very sorry to catch you on your vacation. Yellowstone is a beautiful place. We were there several years ago and really enjoyed the whole area. Maybe we can talk more once you’ve had a chance to take a look at your laptop.Take card and enjoy your vacation!DanOn Jul 13, 2023, at 8:53 AM, dyno-dave @.> wrote:
Hi Dan.  That computer acts completely dead.  I need to pull the hard drives and see if I can recover them.  Right now I'm in Yellowstone for a couple of weeks on vacation.  On Jul 12, 2023 8:36 PM, MotoDan @.> wrote:
Hi Dave,Just curious if you had any more info on this? My interest is to be able to query the ECU as one would do with and OBD2 computer.Thanks again for your help!On Jun 19, 2023, at 9:14 PM, Dan Doss @.> wrote:If that doesn’t help, you might try another battery. Is it fairly old or has it been sitting uncharged for a long time?Good luck!On Jun 19, 2023, at 9:02 PM, dyno-dave @.> wrote:
I'm wondering if the screen is dead.  I don't see anything coming up on it.  I'll try a separate monitor when I get a chance.On Jun 19, 2023 9:59 PM, MotoDan @.***> wrote:
Understand Dave. I’m pretty good with PC’s if you need any help getting your laptop to boot.Best regards,DanOn Jun 19, 2023, at 8:54 PM, dyno-dave @.***> wrote:
Dan,The info is on my old laptop and it won't boot up.  This my take a bit and I've got other things on my plate.DaveOn Jun 18, 2023 9:16 PM, MotoDan @.***> wrote:
Thanks for the reply. My initial goal is to read ECU parameters (RPM, Coolant temp, etc). I’m working with an OBD2 interface and will be writing my own program to read and display these parameters. The 2017 and newer KTM500 ECU’s can be read without any special commands, but the pre-2017 cannot.It sounds like the password may be needed to alter the ECU map data? I’m unclear on this part.DanOn Jun 18, 2023, at 4:58 PM, HarleyGAnderson @.***> wrote:
For pre 2017 ktm excf/sxf the ecu has a 128kb file
MCU is similar to M16C
Password for these ecu's i believe is 12 26 56 99 84 F3 F1 (ill have to go back through my files to double check)
alientech kess and piasini tools can read/write these ecu's as well as the 2017+ ecu's which have a 1028kb file
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@MotoDan Are you still actively working on this topic? I have made / I'm in the process of making my own ESP32 based KLine communicator for KTM 690 Enduro MY 2008 with Keihin ECU + Keihin EPT (throttle body control module). Below you may find step-by-step process on how the communication is initialized.
Communication is started by sending following payload to ECU over KLine: 0x81,0xD5,0xF5,0x81,0xCC
ECU responds with: 0x80,0xF5,0xD5,0x03,0xC1,0xDA,0x8F,0x77
Diag tool continues by transmitting: 0x80,0xD5,0xF5,0x02,0x27,0x03,0x76
ECU responds with: 0x80,0xF5,0xD5,0x04,0x67,XX,YY,CRC
This is ECU message is the critical one. Bytes XX and YY are required when calculating the handshake value for the next diag tool transmit. Handshake value is then masked to fit in 16bit variable.
handShakeVal = XX * 0x4E00 + YY * 0x4D4E
E.g.
handShakeVal = 0xDAEC
0x80,0xD5,0xF5,0x04,0x27,0x04,0xDA,0xEC,CRC
Where CRC:
0x80+0xD5+0xF5+0x04+0x27+0x04+0xDA+0xEC =  1087 = 0x43F
0x43F & 0xFF = 0x3F
Following payload is sent by diag tool that contains the calculated handshake value:
0x80,0xD5,0xF5,0x04,0x27,0x04,0xDA,0xEC,0x3F
If handshake value and checksum were correct, the following is sent by ECU:
0x80,0xF5,0xD5,0x02,0x67,0x04,0xB7
From here on diag tool can start to query data from the ECU and ECU will respond. Connection will timeout if more than 400ms has went since last activity (diag tool has to keep the connection alive by querying information). It will take roughly 50ms for single request + response, so data rate of the KLine can be even as good as 20messages per second.
I did reverse engineer the handshake calculation by writing a program to simulate ECU and then I injected different combinations of handshake bytes to diagnostics tool (TuneECU and KTM Ecusensors) and wrote down the calculated handshake value. It took couple of days to figure out how the handshake value was calculated.
Do you have any recordings from the KLine or CAN bus of the bike? Maybe similar or even the exact same handshake is used on another models...

I have not worked on it.  My wife lost her battle with cancer and it has been all consuming for me.Thank you for the update.  I may revisit this when things permit.On Jul 23, 2024 5:21 PM, Olli Kantola @.***> wrote:
@MotoDan Are you still actively working on this topic? I have made / I'm in the process of making my own ESP32 based KLine communicator for KTM 690 Enduro MY 2008 with Keihin ECU + Keihin EPT (throttle body control module). Below you may find step-by-step process on how the communication is initialized.
Communication is started by sending following payload to ECU over KLine: 0x81,0xD5,0xF5,0x81,0xCC
ECU responds with: 0x80,0xF5,0xD5,0x03,0xC1,0xDA,0x8F,0x77
Diag tool continues by transmitting: 0x80,0xD5,0xF5,0x02,0x27,0x03,0x76
ECU responds with: 0x80,0xF5,0xD5,0x04,0x67,XX,YY,CRC
This is ECU message is the critical one. Bytes XX and YY are required when calculating the handshake value for the next diag tool transmit. Handshake value is then masked to fit in 16bit variable.
handShakeVal = XX * 0x4E00 + YY * 0x4D4E
E.g.
handShakeVal = 0xDAEC
0x80,0xD5,0xF5,0x04,0x27,0x04,0xDA,0xEC,CRC
Where CRC:
0x80+0xD5+0xF5+0x04+0x27+0x04+0xDA+0xEC =  1087 = 0x43F
0x43F & 0xFF = 0x3F
Following payload is sent by diag tool that contains the calculated handshake value:
0x80,0xD5,0xF5,0x04,0x27,0x04,0xDA,0xEC,0x3F
If handshake value and checksum were correct, the following is sent by ECU:
0x80,0xF5,0xD5,0x02,0x67,0x04,0xB7
From here on diag tool can start to query data from the ECU and ECU will respond. Connection will timeout if more than 400ms has went since last activity (diag tool has to keep the connection alive by querying information). It will take roughly 50ms for single request + response, so data rate of the KLine can be even as good as 20messages per second.
I did reverse engineer the handshake calculation by writing a program to simulate ECU and then I injected different combinations of handshake bytes to diagnostics tool (TuneECU and KTM Ecusensors) and wrote down the calculated handshake value. It took couple of days to figure out how the handshake value was calculated.
Do you have any recordings from the KLine or CAN bus of the bike? Maybe similar or even the exact same handshake is used on another models...
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Which software can I use to read the engine hours, it is for a ktm sxf250 2021 with keihin ecu

@pcace I did got it to a point where I was able to view signal values from a small "Nokia LCD" and log to my smart phone over WIFI connection using pydroid and TCP. However I'm more of an embedded guy instead of Android developer so I was struggling in writing my own Android app.
Unfortunately I don't have the bike anymore, so I can't do any testing or development by myself. My new bike is much more basic electronic wise (Beta RR 300 MY20), but some day I might hook up my ESP32 thingy on it to see what can be extracted from it's K-line.
I did reverse engineer the handshake by emulating 690 ECU with ESP32 for the TuneEcu diagnostics tool. I tried sending different handshake values to see how they affect the response payload. After some hours I was able to derive the formula. I think remapping with TuneEcu is not possible on 2013 and newer bikes. Also my bike had two ECU's, one for engine and one for throttle body.
If you have working diagnostics tool for your bike E.g. TuneEcu, it should be possible to reverse engineer the init comms process. Easiest way to determine if the communication is the exact same is to use cheap 8 channel logic analyzer (saelae logic 8 or similar) and sniff the communication between diag tool and bike ECU's.


Curry function with labeled arguments

Suggestion
Always wanted a properly type-checked, intellisense-complete curried by argument's name function?
Maybe this type definition can be helpful.
Use Cases
Curry functions without need to respect the order of arguments
Examples
playground
function abc(args: { a: string; b: number; c: boolean }) {
  return new Date();
}
const f = curryFunctionWithLabeledArguments(abc);
const fab = f({ a: "", b: 0 });
const fabc = fab({ c: true });
const x = fabc();

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. new expression-level syntax)

type Rest<T, K> = Pick<T, Exclude<keyof T, K>>;

function curry<Args extends object, SomeArgs extends keyof Args, Res>(f: (args: Args) => Res, someArgs: Pick<Args, SomeArgs>): (restOfArgs: Rest<Args, SomeArgs>) => Res {
    return args2 => f({ ...(someArgs as object), ...(args2 as object) } as Args);
}

interface I { x: number, y: number }
function f({ x, y }: I): number { return x + y; }
const curried = curry(f, { x: 1 });
console.log(curried({ y: 2 }));

What do you think of the implementation in the playground?

That works too!


Options Auto Cache Reset

hi
i was write middleware for Auto Invalidation  of Options Cache and i see CONTRIBUTING.md

Contributions are always welcome.

and

For more complex changes or new features please file an issue before you open a pull request so we can discuss and plan accordingly.

i think its might be usefull
so i add this repo
thanks

hi @Azaferany this looks interesting. Go ahead and submit a pull request if you would like to, or if you prefer I can look at your fork and potentially add them myself. Thanks!

thanks
I will send a PR

hi @AndrewTriesToCode i was send PR for this in https://github.com/Finbuckle/Finbuckle.MultiTenant/pull/453

hi, thanks for the PR I haven't had time to take a look yet


Military flamethrower disabling inventory

once you equip the military flamethrower you are unable to use your inventory or switch weapons. gun does not function.

the military flamethrower is used in a dream sequence or something, I don't remember, that's why I set up my recipe for it to use the homemade one, just use the default config

Couldn't replicate, read above comment if you still have this issue.


feat: Add mason

Changes

initialized mason
added docs to using mason
added brick feature
added brick screen

Checklist for self-check

[x] Commits and PRs have been filed according to the rules on the project.
[x] The author is marked as an assigne and assigned mandatory reviewers.
[x] Required labels marked
[ ] Specified related tasks and/or related PRs.
[x] Specified Changes.
[ ] Attached videos/screenshots demonstrating the fix/feature.
[ ] All unspecified fields in the PR description deleted.
[ ] New code covered by tests.

Checklist for reviewers

[ ] CI passed successfully (with a green check mark).
[ ] PR is atomic, by volume no more than 400 (+-) corrected lines (not including codogen).

Design:

[ ] System design corresponds to the agreements on structure and architecture on the project.
[ ] The code is decomposed into necessary and sufficient components.

Functionality:

[ ] The code solves the problem.
[ ] Any changes to the user interface are reasonable and look good.

Complexity:

[ ] The code is clear, easy to read, functions are small, no more than 50 lines.
[ ] The logic is not overcomplicated, there is no overengineering (no code sections that may be needed in the future, but no one knows about it).

Tests:

[ ] Updated or added tests for mandatory components.
[ ] The tests are correct, helpful, and well designed/developed.

Naming:

[ ] The naming of variables, methods, classes and other components is understandable.

Comments:

[ ] The comments are understandable and helpful.

Documentation:

[ ] All labels are correct
[ ] Technical documentation updated (after approval, updates last reviewer).

Also needs to add scripts:
make format: fvm dart format -l 100 lib test because fvm dart format -l 100 . will convert mason files
make dcm: dcm analyze lib test, needs test, may be same error  as above
make analyze: fvm flutter analyze lib test, same


Help: How update session user in client side?

Hi @atinux. Thanks for amazing work on it!
I need help. How can i update session.user object on client side? Lat say i have socket and i need update unread key inside user object from socket data.unread. or i must call server route and update it in serverside? every time when i get socket updates?
await setUserSession(event, {...})
must be used in server side and need event.

If you trust the sockets, just use a ref() on client-side it should be enough, like unreadNotifications = ref(0).

@atinux no i mean we have salted and hashed cookie where user object inside it. how can o update it?

@atinux no i mean we have salted and hashed cookie where user object inside it. how can o update it?

You must update using a server endpoint. A session is, for the client, a black box and this is by design. Imagine all the potential security issues if you were able to change data inside your session without by yourself, without asking a server (that will verified everything).
On your client, you can re-fetch (const { fetch } = useUserSession(event)) to retrieve new session data.

@atinux no i mean we have salted and hashed cookie where user object inside it. how can o update it?

You must update using a server endpoint. A session is, for the client, a black box and this is by design. Imagine all the potential security issues if you were able to change data inside your session without by yourself, without asking a server (that will verified everything).
On your client, you can re-fetch (const { fetch } = useUserSession(event)) to retrieve new session data.

I know this. But i want update only user.[key] in client side.Best option save user data to state?

You can make a copy of the user into another ref() if you want @chz

You can make a copy of the user into another ref() if you want @chz

Thank you.


feat(myanimelist): init

🎉 Theme for MyAnimeList 🎉
MyAnimeList is an indexing site for anime and manga. Users can use it to look up anime, manga, donghua, light novels, aeni, etc, as well as log and keep track of their progress.

💬 Additional Comments 💬
This userstyle does not theme user animelists/mangalists, as many users theme their anime/mangalists with custom CSS.

🗒 Checklist 🗒

[x] I have read and followed Catppuccin's submission guidelines.
[x] I have made a new directory underneath /styles/<name-of-website> containing the contents of the /template directory.

[x] I have ensured that the new directory is in lower-kebab-case.
[x] I have followed the template and kept the preprocessor as LESS.

[x] I have made sure to update the
userstyles.yml
file with information about the new userstyle.
[x] I have included the following files:

[x] catppuccin.user.css - all the CSS for the userstyle, based on the
template.
[ ] preview.webp - composite image of all four individual flavor screenshots (taken with the default accent color of mauve) stitched together, generated via Catwalk.

i am busy; i may not work on this for another month .. should i close this PR until then, or leave it open?

i am busy; i may not work on this for another month .. should i close this PR until then, or leave it open?

No worries at all. It's okay to keep it as a draft for now :)

I would be interested in doing some work on it. Currently I've made a fork of this PR but only done a little so far.
Not sure if I should make a separate pull request or merge into @orangci's branch first (had the same issue with Pinterest lol) but we can figure that out in a week or two when it's closer to done.

Hi! Would you like me to give you collaborator perms on my fork?

Hi! Would you like me to give you collaborator perms on my fork?

Sounds good!

Sounds good!

I sent ya the invite 💖


TF unit test fails due to a crash in rocprim

I have attached a testcase which is a truncated version of a TF unit testcase.
(rename file to drop the .txt extension, that was added so I can attach the file to this issue)
Run it as shown below (within a container with ROCm tensorflow 1.8)
"python3 histogram_ops_test.py"
and you should see the crash.  The crash corresponds to this call in rocprim
https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/master/rocprim/include/rocprim/device/device_histogram_hip.hpp#L212
The testcase passes if I hardcoded the rocprim code to take the "else" block
(i.e. call "histogram_global_kernel" instead of "histogram_shared_kernel").
Please investigate and fix this bug.
Thanks
deven

histogram_ops_test.py.txt

this is the rocprim version we currently pull into TF
  tf_http_archive(
      name = "rocprim_archive",
      urls = [
          "https://mirror.bazel.build/github.com/ROCmSoftwarePlatform/rocPRIM/archive/v1.0.0.zip",
          "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/v1.0.0.zip",
      ],
      sha256 = "fc1005f56cd7bd6f5f3c48b39c9972dda20d1f9e7ad94dae183fce9120c0d8ce",
      strip_prefix = "rocPRIM-1.0.0",
      build_file = clean_dep("//third_party:rocprim.BUILD"),

We have a fix. Can you check develop branch? (I mean is it possible to download this particular branch of rocPRIM using TF build system?)

@ex-rzr I will try out the fix.
In the meantime can you tell me the commit id for the fix, we will need that information eventually.
thanks
deven

@ex-rzr
Switching TF build to use the suggested commit
https://github.com/ROCmSoftwarePlatform/rocPRIM/commit/c1e2082751eb242c125fd1a01798c5c87008e029
does fix this issue.
thank you for the quick turnaround!
deven


Computeshader fixes

This gets the computeshader demo working on the Intel Linux driver

Thx for this :+1:
I'll test this on my Intel machine later this week. One thing I don't like to do though is adding the VK_IMAGE_USAGE_STORAGE_BIT for every texture, I think I'll go with an overload there where you can pass additional parameters to the loadTexture function

That seems like a reasonable thing to do.  Thanks for taking a look at this.  The Intel Linux driver is very sensitive to having the right usage bits set on buffers and images and using the correct descriptor types.

Commited your changes with a few additions (like passing the usage flag bits when loading the texture) and this example now finally works on my Ultrabooks integrated skylake GPU.
Thanks again for this :+1:


Restore the generation of our Swagger documentation

Task Description
At the moment, our Swagger documentation is no longer being generated. This used to be done in the strongbox-webapp, check here. However, with our recent migration to Spring Boot, we dropped the need for the strongbox-webapp and the strongbox-assembly, as our whole application is, in essence, in the strongbox-web-core (which is where strongbox-web-core-${project.version}-spring-boot.jar is being produced; this is then packaged into the strongbox-distribution).
This task is a sub-task of #1123 .
Tasks
We need to:

[x] Restore the Maven Swagger generation profile and add it to the strongbox-web-core's pom.xml.
[x] Restore the Swagger templates from here to strongbox-web-core/src/main/swagger/templates.
[ ] Figure out where to package the produced Swagger documentation to, so that Spring Boot would be able to display it properly.

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@fuss86

PR #1175 uses the springfox-swagger module to render OpenAPI at runtime rather than at build time.  There is an additional dependency on a webjar, springfox-swagger-ui, which provides Swagger UI so that the application can render a web page as well.
Because we use our own resource handler mappings, making swagger-ui render from strongbox required some changes to these mappings, one to add the /swagger-ui.html page, and one to enable content from webjars to be returned by the spring-boot app.
The PR does not add any styling, only the default swagger-ui styling was implemented.

I've updated PR https://github.com/strongbox/strongbox/pull/1175 to render the docs at our customary URI, /docs/rest/api.html.  To do this, I've included an altered version of /swagger-ui.html and springfox.js from https://github.com/springfox/springfox/tree/master/springfox-swagger-ui, which use updated path information to find the resources they need.
I investigated whether we could use configuration to adjust these URLs, and came across https://github.com/springfox/springfox/issues/2250.  This issue indicates that springfox-swagger-ui's authors intend users to use their implementation only as an example, and customize as needed.
Since we will be styling this in accordance with strongbox's UI, this seems like a fair approach.


Current Behavior
Suddenly, flannel became unable to query the Node API:
I0502 22:49:43.737861       1 ipmasq.go:85] Adding iptables rule: ! -s <IP_ADDRESS>/16 -d <IP_ADDRESS>/16 -j MASQUERADE
E0506 18:08:50.094465       1 reflector.go:304] github.com/coreos/flannel/subnet/kube/kube.go:284: Failed to watch *v1.Node: the server has asked for the client to provide credentials (get nodes)
E0506 18:08:51.115308       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:284: Failed to list *v1.Node: Unauthorized
E0506 18:08:52.132606       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:284: Failed to list *v1.Node: Unauthorized
E0506 18:08:53.150188       1 reflector.go:201] github.com/coreos/flannel/subnet/kube/kube.go:284: Failed to list *v1.Node: Unauthorized

This last line is repeated indefinitely approximately every second.
Steps to Reproduce (for bugs)
Unclear. No other flannel pods in the same cluster had this issue.
Context
Pods on a recently-joined k8s node were unable to communicate with pods on the node with the failed flannel pod.
Your Environment

Flannel version: quay.io/coreos/flannel:v0.9.0-amd64
Backend used (e.g. vxlan or udp): vxlan
Etcd version: quay.io/coreos/etcd:v3.2.9
Kubernetes version (if used): 1.8
Operating System and version: Ubuntu 16.04

Still happening


Site information updates

Add additional information and resources for treating FIP/SEO
Add a report-a-bug contact form
Add expected cost by cat weight option
Get updates brand and price list from Admins

Info and data pages have been added


docs: i18n for ng.include

add en docs for ng.include
add gh reaction to ensure change doesn't break docs build
scoped the ci trigger condition for java and doc changes in PR

Codecov Report
Patch and project coverage have no change.

Comparison is base (43c6637) 0.00% compared to head (5bdde10) 0.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff           @@
##           master    #219   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files          74      74
  Lines        2513    2513
  Branches      275     275
======================================
  Misses       2513    2513

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Note that become doesn’t work with tty run option.

This note is indicated in the documentation here: https://deployer.org/docs/hosts.html
Testing suggests this is correct.
I was wondering if I might be able to find an explanation somewhere of why this is the case?  I am using become() and because of this my cloned repo comes out with myuser:myuser permissions, which breaks the deployment due to a permissions issue.  I'm wondering if there is some common solution or if I need to just stop using the become() approach.

There is no silver bullet here. One solution is to use one user for server and deployment. Also, ssh into the server using this user.
Try to avoid unnecessary complexity. Only if you not what you will gain (more security, structure, etc) add something more complex.

Some institutions, my own included, will not allow SSHing into machines through any user but your own.  This is the scenario where become is useful.  If you are in this scenario, and you are also forwarding your ssh key, then you seem to be simply out of luck, like me, since this scenario means that you need your agent for git cloning, thus tty is required, and yet become doesn't work with tty enabled.
I've resorted to just deploying as my own user, which works fine.  I just didn't know if there was some technical reason that made it impossible or insecure to use become logic with tty enabled.  I didn't see anything in your comment @antonmedv explaining this.  I can go ahead an deploy as myself, but it might be worthwhile to document this conflict further and explain why the restriction exists.  Just my $0.02.

thus tty is required, and yet become doesn't work with tty enabled.
Yes, this is true and should be documented.

Did you try to use deploy keys? To avoid using agent forwarding?

as stated in #2145, deploy keys are not an option for me.  Well, they are, but the server would need to juggle many keys and the more I looked into it the more that approach really began looking unnecessarily complex--as one of my old managers would put it, "more bees than honey".  Its just much simpler all around in my specific context to deploy as my own user with a forwarded agent, so that's how we've decided to move forward.  Feel free to close if you want.


Update Composer dependencies (2024-01-16-00-16)

Visual regression test passed!
View the visual regression test report


The size of tensor a (30) must match the size of tensor b (16) at non-singleton dimension 2

Hello! thank you for your excellent work. When i try to use a video of 912 * 512，i changed the height and width in video_reading here:

But i still got error: The size of tensor a (30) must match the size of tensor b (16) at non-singleton dimension 2

Thanks for pointing it out! We have added --width and --height parameters in inference.sh script, and you could change the size of video through them.


Chat Switcher - Content of the chat does not change to correct chat when using chat switcher

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Press ctrl+k
Change to another chat

Expected Result:
User is navigated to chat and the correct chat content is displayed.
Actual Result:
LHN and header show the correct chat BUT chat content displayed is from previous chat.
Workaround:
Clickin the chat in search shows the correct conversation.
Platform:

Where is this issue occurring?

Web
Desktop App

Version Number: 1.0.86-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/44479856/129800454-d4ea541a-ea79-4928-ab0e-d28ee1b53597.mp4
Expensify/Expensify Issue URL:
View all open jobs on GitHub

From @iwiznia https://expensify.slack.com/archives/C01GTK53T8Q/p1629232126472800

(staging web, most probably a huge deploy blocker): I can't switch to another conversation using CMD+K, the weird part is that the title changes, but not the contents. It does work if I click on the conversation.

Triggered auto assignment to @luacmartins (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Looked at currently CP'd PR's but none seem to be causing it. Looking at PRs from the last full deploy now.

@marcaaron It seems this was introduced in https://github.com/Expensify/App/pull/4610. Changes in the staging branch here https://github.com/Expensify/App/blob/staging/package.json#L87
Let's CP https://github.com/Expensify/App/pull/4676 to staging?

Thanks @luacmartins I have been trying to get this fixed before it goes to staging but could not find anyone to help 🙃

This is fixed now on staging.


Black/White list

Using the logs, inspect web page, can see what is rejected, but adding them to the Whitelist has no effect
Anyone able to get this link to work
https://robertsspaceindustries.com/starmap

I can see the website with cloudflare dns.

Have issues with classic Waterfox not loading sites. Yet I did try with other major browsers and none will load this page, figured it was DNS- crypt


Question

The article states: "Your App Service plan should be scaled to two or more instances to use Health check."
I cannot find any information on what happens if health check is enabled on a single instance and, if health check restarts the single instance, how quickly?

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

ID: 20c42a13-f6cb-1e60-0438-f7f32b86a336
Version Independent ID: 79e7dd15-24aa-2e6d-cee7-7714e1940c11
Content: Monitor the health of App Service instances - Azure App Service
Content Source: articles/app-service/monitor-instances-health-check.md
Service: app-service
GitHub Login: @msangapu-msft
Microsoft Alias: msangapu

@denious, Thanks for the feedback! We are taking a look into this and will get back to you soon.

@denious, Apologies for the delayed response.
If your site has a single instance, it will not be removed if it becomes unhealthy.
Hence, two or more instances should be used for Health check.
Typically, App Service restarts the underlying VM in an effort to return the instance to a healthy state.
I'm checking on this internally for the 'restart' interval.

@denious, Apologies for the delayed response. We're discussing on this internally and will share an update soon. Thanks for your patience!

@denious, For a single instance case - The instance will be replaced after 1 hour, and if you require instances to be removed from the load balancer we recommend you to scale to >=2 instances.
We’d been discussing on this internally with our product and content team, they’re working on doc enhancements clarifying details on single instance behaviour  and with additional FAQs on the topic. However, we do not have an ETA to share on this yet.
As soon as I hear I'll update this thread, we will close this thread for now.
Thanks again for your feedback and patience! It’s very much appreciated.


[challenge] Aspergillus terpenoids

Hi again!
Small question in the form of a challenge:
Would yaccl be able to perform a query that allows reproducing the listed compounds in https://doi.org/10.1016/j.phytochem.2021.113011 (without the need of npclassifier or classyfire)?
As starting point those two existing queries might help:
https://w.wiki/4ShY
https://w.wiki/3HMD
Best,

In general, yaccl is taxon-agnostic. What we do is take a list of compounds and make sure they are classified correctly. In this case we don't have access to the paper, and the paper is also not in Wikidata. But the following query gets all InChI strings of compounds from Aspergillus species:
SELECT DISTINCT ?inchi
WHERE
{
  ?item wdt:P703 ?tax.
  ?tax wdt:P171 wd:Q335130.
  ?item wdt:P234 ?inchi.
}

Saving the list of 4,349 compounds in a file aspergillus.txt, we want to check if any are not recognized as natural products. There is no ready option for this but the bash script
for i in `cat aspergillus.txt`; do python3 classify.py -d ./ -j -m "$i"; done
can give a first impression which would be about half of compounds are classified with the current version. The list contains all Aspergillus metabolites, so, if your question is specifically which of the compounds in that paper are recognized as terpenoids we would first need that list. Can you help?

I may have misnderstood. Did you mean to extract all terpenoids from the list of 4,349 compounds? That should be doable.

Sorry, my question was badly formulated. I did not really want to reproduce what is in the article, rather generate the WD+yaccl equivalent. Rather...yes...you were faster

Here is a slightly adapted query:
https://w.wiki/4T7k

I have pushed a new version of the classify script such that JSON output also includes the molecule. This would allow more comfortable processing of the output of my small bash script given above.

For the sake of speed there should be better handling when both -j and -t are given. Noted.

Beautiful. Thanks!

Alternatively, if you are satisfied with what is already in WD, going without yaccl should work too:
https://w.wiki/4T9V
But it times out...

Pushed the addition of InChI key too...

https://w.wiki/4T9n
no time out :)

These are only the subclasses, you need to include P31/P279* in order to get all. Either with UNION or using the pipe symbol.

Oh, indeed nice catch
https://w.wiki/4T9y

I knew because the yaccl run found 360, as well. Now, for the interpretation, the subclasses might contain duplicates where the stereochemistry is unspecified.

This one is interesting https://www.wikidata.org/wiki/Q77573987
a cyclic farnesan that was misrecognized as macrolide (not trivial).

Well...this one is in the end a real challenge! x)
I am not sure a lot of humans would do better

So, you see, I nearly always add P31/P279 to WD compounds at the same time I add SMARTS to classes. Exceptions: I still need  to add P31/P279 for unspecified alkaloids and macrolides in WD.
Having it all in WD simplifies searches as this one. The downside is that as followup the WD entries need to be maintained, e.g. by frequent scanning.
This issue also demands improvements in yaccl/WD integration. I'll leave it open until I think it is resolved.


[Feature]: SSO redirect to a specific application instead of the worksapce

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
When a user log in to my via my configured SSO, I want them to be redirected to a specific application instead of the workspace.
Why should this be worked on?
I am currently exploring the free trial business version of appsmith. I have now successfully configured using Azure as OIDC provider with regard to Single sign-on. When anyone enters appsmith and login via SSO, they are directed to the default page where they can see all the apps in the workspace. If they want to use an app, they have to manually click on the desired app. How do I configure Appsmith so that when users in my organization log in via Azure SSO successfully, they immediately enter a homepage of a certain app?

Absolutely agree. This is vital for companies wanting to build frontend facing applications.
I believe those who have 'view only' access to one application, should be immediately redirected to that single application.

We understand that this feature is particularly important for large-scale deployments, where there is a high number of users using an application. We are planning to address this soon and will share the solution here.


NMS Plugin being called

Version: 19.10
OS: Ubuntu 20.04
Model: ResNet18FN
Steps to recreate:

Export TensorRT Engine with default nms_threshold value
Run Inference
Export new TensorRT Engine with 0.1 nms_threshold value
Run Inference
Same output on both.

When running inference, i'm noticing the output bounding boxes are the same, even when changing the nms threshold value and compiling a new TensorRT Engine. Am I supposed to do anything else? Not sure if I'm missing something or if my model is off?

When debugging the nms.cu script I do find that it is being called. I'm still a bit confused why the outputs are pretty much the same.


"Find" box doesn't automatically populate the selected word in Notebook editing mode

Environment data

VS Code version: 1.63.2
Jupyter Extension version (available under the Extensions sidebar): v2021.11.1001550889
Python Extension version (available under the Extensions sidebar): v2021.12.1559732655
OS (Windows | Mac | Linux distro) and version: Windows_NT x64 10.0.18363
Python and/or Anaconda version: 3.9.5
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda 4.11.0
Jupyter server running: Local

Steps to reproduce
Screenshot shows details:

Compare the correct behavior of editing a .py file:

Find box features for notebooks are in the core codebase.

Available now in latest VS Code.


[DM-40075] Enable backup of InfluxDB to another persistent volume

An initial attempt to dump an InfluxDB backup to another PV so that Velero could copy the data to S3.

This will be different with InfluxDB Enterprise, so this PR is now out of date.


Remove invalid bytes.

That were causing at least my build/test to choke.

@jkarni: Can you provide more details on why? Rad files should definitely support UTF-8!

@jkarni: Can you provide more details on why? Rad files should definitely support UTF-8!

I believe it's because the default locale is C/POSIX, and we don't explicitly state that this is a utf-8-encoded file. While using the system locale for reading most user-created source files seems okay, it seems really cruel to make things then break for people with other locales in the files we distribute when we don't have to. Even if the story is "we always assume utf-8" (in which case we should call setEncoding), having these quotation marks seems a little gratuitous.


more undefined references to `get_custom1_profile_at_k_m_z'

When trying to compile this error has been reported:
build/class_sz.o:/home/iz221/class_sz/build/../source/class_sz.c:10695: more undefined references to 'get_custom1_profile_at_k_m_z' follow
collect2: error: ld returned 1 exit status
make: *** [class_sz] Error 1

This error was reported when compiling class_sz on linux machines with the makefile for macOS.
The solution is to use the linux machine.
Before compiling do:
mv Makefile Makefile_os
mv Makefile_linux Makefile
make clean
make

and follow other instruction, e.g., from the colab notebook: link


advanced project template backend does not have Alert widget enabled by default

the frontend main layout has
use frontend\widgets\Alert;

# line 60ish
<?= Alert::widget() ?>

it's great because setFlash just works. Now, on the backend, it took me awhile to figure out why setFlash does not work. It turns out, Alert is not enabled by default in backend layout. I suggest it should be enabled by default.
so under backend\views\layout\main.php, add the following
use frontend\widgets\Alert; #new code
.
.
<div class="container">
<?= Breadcrumbs::widget([
     'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>
<?= Alert::widget() ?> # this line of code allow Flash Messages work automatically
<?= $content ?>
</div>

https://github.com/yiisoft/yii2-app-advanced/commit/a38f71c4a2381b49c9338b028e96fe1a76d37a00

Thanks for a good idea.


How to hook this new PrincipalBuilder to an existing Kafka?

How to hook this custom KafkaPrincipalBuilder to an existing Kafka?
Is it just a matter of compiling this project and adding the .jar to the libs directory in Kafka or are there other steps?

@Benardi, I am also searching for the same answer. It would be great if you could help me.

@Benardi, I am also searching for the same answer. It would be great if you could help me.

Hey, @abhinavdangi I've written down the solution that worked for me in a fork I've made.
I've ended up updating the environment variable CLASSPATH with the path to .jar from this repo and exporting CLASSPATH in the same terminal I raised the broker. For more info, you could check the fork.

@Benardi, I ran the steps according to your fork. I'm facing the following issue:
org.apache.kafka.common.config.ConfigException: Invalid value io.okro.kafka.SpiffePrincipalBuilder for configuration principal.builder.class: Class io.okro.kafka.SpiffePrincipalBuilder could not be found.
        at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
        at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
        at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:108)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:142)
        at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1386)
        at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1389)
        at kafka.Kafka$.buildServer(Kafka.scala:67)
        at kafka.Kafka$.main(Kafka.scala:87)

When I run the Kafka server, I see that the classpath contains the path of kafka-spiffe-principal-2.0.0.jar.
I'm using Kafka 2.8.0

I no longer maintain this (not the repo owner/no longer in the org).
I am also certain you figured out the miss configuration.
But for anyone bumping into this:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
principal.builder.class=io.okro.kafka.SpiffePrincipalBuilder

And jar should be available via CLASSPATH or by putting the jar in ${YOUR_KAFKA_INSTALLATION_DIR}/libs
True for version 2.6.1, never tested on a newer version.


Test directory

update to use latest signoff version
populate and validate east-genes table
format code with Black
Fix some PEP8 issues

@woook

This change is

Hello @pofuoku! Thanks for opening this PR.


Stage migration is not allowed after failing final migration

I noticed that if you attempt a final migration which fails, then go back and attempt a stage migration, the stage migration will never run due to this status condition:
  status:
    conditions:
    - category: Critical
      lastTransitionTime: 2019-08-13T19:24:29Z
      message: The associated MigPlan already has a final migration.
      status: "True"
      type: HasFinalMigration

I'm not sure this is desired behavior.

If this is desired behavior, we should make a change in the UI so that it's not possible to click Stage after creating a final migration, because there is no way to remove the stalled 'Stage' migration from the UI, and no further migrations will be able to run due to the serial job constraint.

The validation should permit a stage migration after final migration.  Looks like a bug here: https://github.com/fusor/mig-controller/blob/master/pkg/controller/migmigration/validation.go#L146.  Note the !!.

Changed the UI in https://github.com/fusor/mig-ui/pull/434 to reflect controller behavior and prevent users from getting themselves into a bad situation from the UI.
For a future discussion: do we want to allow users to run 'stage' / 'migrate' attempts after a failed 'stage' or 'migrate' on the same plan?

Should we implement intelligence on the controller / UI side to only allow new attempts if we haven't proceeded past the 'quiesce' step?
Should we trust that the user knows what they're doing and not restrict their options at all


Error: PlatformException while using the library with FlutterFragment (Android)

I am getting below error while using the barcode scanner with FlutterFragment (works fine with FlutterActivity).
E  [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)
                                                                                #0      InstanceManagerHostApi.clear (package:camera_android_camerax/src/camerax_library.g.dart:315:7)
                                                                                <asynchronous suspension>

Hi @frqarshed ,
We are not used to projects embedding Flutter fragment in an Android Activity. Do you have a small project example that we can test on ?
Note that our plugin needs a reference to the Activity. So check that you didn't call .shouldAttachEngineToActivity(false) when creating the fragment.

CameraTestExample.zip
@ndusart Attached is a minimum sample and steps to reproduce are mentioned in a text file.