text:
Finish README

GitHub - Markdown - Test File
Header Level 2
Text
Code

if (....etc

Quote

How can we see preview

Je commente

J'utilise Markdown pour formater mon texte
URL vers GitHub http://github.com
Lien vers GitHub

source: gharchive/issue

repo: metropolis-GitHub/Hello-World

license: unlicense

license_type: permissive

license_source: bigquery


text:
Issue with destructor of BlockOperator

Hi,
I noticed a small bug in the destructor of BlockOperator at
https://github.com/mfem/mfem/blob/ea5c4664864cb84c0a453f527d6befec05a8b8a9/linalg/blockoperator.cpp#L133-L145
where it seems that iRow and jCol have been mixed up. I did not find any mention of it so I opened a new issue.
Best regards,
Andreas

Thanks for reporting this, Andreas! I'll add a fix for this directly to #3384.

Addressed in #3384.

authors: aschaf tzanio v-dobrev

repo: mfem/mfem

license_source: github-api


text:
Add Fawry

Add fawry-api/fawry

API-Wrappers and SDKs do not qualify.
It is not a standalone project

Sorry I assumed this is affiliated to Fawry the company, that is why I rejected it.
@amrrbakry  do you own this project as an idividual?
does it mean that oneday you might also support other platforms? like Bee or Aman?
I assumed that because the Org name was fawry-api.

no worries 👍. Yes, I own the project and the organization. I created the organization because other developers reached out to me asking to port the project to other languages, and the organization has all of that in one place.
I'm not currently using Bee or Aman, but if I were to support these platforms, I'd probably create a new project for each and leave this one solely for fawry. I'll keep maintaining this project, and I'm also looking for contributors and maintainers to help.

source: gharchive/pull-request

authors: amrrbakry mfouad

repo: mfouad/awesome-egypt-opensource

license: MIT


text:
Added alternate class method with animate parameter and updated README.m...

Hi,
Though I would share this new feature.
Would be awesome if you could add this to the official pod.
Have a great day,
Sun

I've implemented this in v0.1.3 but with enumerated options.

Thanks!

authors: mgcm sunknudsen

repo: mgcm/MMPopLabel

license: mit


text:
About prefixes rules

In theory, prefix is a word, letter, or number placed before another, however I noticed that there's a test case in noOutputOnPrefix:
https://github.com/mgechev/codelyzer/blob/651be15e7a5e0ce047b1ab0be5a90b51a3adb4aa/test/noOutputOnPrefixRule.spec.ts#L35-L47
... where it implies that we can't name a variable on. Is it really the expected behavior? For me, it's a little strange because there's nothing after on word.
Anyway, I'm asking because actually noInputPrefix works a little bit different. In which rule should go a fix?

To me, it sounds fine to disallow on as the name of an output. Let's reopen this if anyone disagrees.

repo: mgechev/codelyzer


text:
split cryptorchism into bilateral and unilateral child terms

Add new child terms of cryptorchism MP:0002286 :
unilateral cryptorchism
DEF: failure of one of the testes to descend into the scrotum
SYN: unilateral cryptorchidism
bilateral cryptorchism
DEF: failure of both testes to descend into the scrotum
SYN: bilateral cryptorchidism

Added new child terms:
unilateral cryptorchism MP:0031286
bilateral cryptorchism MP:0031287

repo: mgijax/mammalian-phenotype-ontology


text:
Get particular value from webview

How I can get particular value from webview?
Ex: get user id after login.
I have tried this many solutions from internet, but it's not working in smartwebview.
Reference: https://stackoverflow.com/questions/8200945/how-to-get-html-content-from-a-webview

Reference: https://stackoverflow.com/questions/8200945/how-to-get-html-content-from-a-webview

I believe these solutions only work on older android versions as current APIs are preventing apps from modifying external sources for security reasons.

authors: bernamaxim mgks

repo: mgks/Android-SmartWebView


text:
Call to deprecated method loadRevision() of class Drupal\Core\Entity\EntityStorageInterface

Bug report
  x    Call to deprecated method loadRevision() of class Drupal\Core\Entity\EntityStorageInterface:
         in drupal:10.1.0 and is removed from drupal:11.0.0. Use
         \Drupal\Core\Entity\RevisionableStorageInterface::loadRevision instead.

Using phpstan-drupal 1.1.36
Code snippet that reproduces the problem
/** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
$storage->loadRevision(1);

I think this is fixed previously already in #576 but only for RevisionableStorageInterface. I think the issue lies in the way that ContentEntityStorageInterface inherits its interfaces separately with EntityStorageInterface and TranslatableRevisionalStorageInterface which then inherits RevisionableStorageInterface which then inherits EntityStorageInterface. I think perhaps that additional EntityStorageInterface on the ContentEntityStorageInterface gets in the way

Are you able to add stubs to your project to test out if additional stubs are needed?
This is enough of a data sample to add a proper test here. I thought I did, maybe I was lazy and didn't

I tried to add stub for ContentEntityStorageInterface but to no avail. I think maybe this might extend into issues with @not-deprecated where there is multiple inheritance paths because ContentEntityStorageInterface extends from both EntityStorageInterface and TranslatableRevisionableStorageInterface with the EntityStorageInterface specified first. No matter what I did in the stub files (adding @not-deprecated for loadRevision in all of them for example) I would still get the deprecation error.

could we hack core and see if reversing the order of implementing the interfaces fixes things? I'm still seeing this. Will probably just ignore the warnings since it is a false positive, but it would be nice to fix this more properly.

could we hack core and see if reversing the order of implementing the interfaces fixes things? I'm still seeing this. Will probably just ignore the warnings since it is a false positive, but it would be nice to fix this more properly.

I recall trying various combinations including removing inheritance and different inheritance and I THINK also reordering etc but to no avail - wasn’t sure if a cache was kicking in but do remember using debug mode - just ran out of available time to trace it. Worth someone doing some digging

could we hack core and see if reversing the order of implementing the interfaces fixes things? I'm still seeing this. Will probably just ignore the warnings since it is a false positive, but it would be nice to fix this more properly.

To clarify I think I only messed with stubs and not core files - or if I did only minor tweaks like to drop the additional interface. Definitely worth digging into.

I just realized we could have a proper test for this by scanning some Drupal core code.
With #595 this showed up in the baseline test. So the PHPUnit test would need to scan one of those files and we can try to fix it.

I'm still getting this error even on 1.2.0.
An example line that is triggering it in our custom code:
$paragraph = Drupal::entityTypeManager()->getStorage('paragraph')->loadRevision($paragraph['target_revision_id']);

I'm running into this issue as well, using PHPStan Drupal 1.2.10. I got false positive for both loadRevision and deleteRevision.

authors: driskell heddn mandclu-acquia mglaman nicrodgers

repo: mglaman/phpstan-drupal


text:
🛑 Merchant APP (Stroy API) is down

In 819aedb, Merchant APP (Stroy API) (https://gateway.wavemoney.io/v2/merchant-api/merchant-tutorial-stories/1) was down:

HTTP code: 403
Response time: 29 ms

Resolved: Merchant APP (Stroy API) is back up in 8f2c40a after 2 hours, 37 minutes.

repo: mgmgpyaesonewin/strapi-upptime


text:
🛑 Channel APP (Region API) is down

In f5d1c8a, Channel APP (Region API) (https://gateway.wavemoney.io/v2/wc-api/config-region/wc) was down:

HTTP code: 504
Response time: 10325 ms

Resolved: Channel APP (Region API) is back up in 447593d after 1 hour, 21 minutes.


text:
How do i get baseurl using restangular?

I only wanted to get the restangular baseUrl. how do i get only baseUrl ?

As far as I know, there's no way to do this. It wouldn't be that hard to implement a getConfig() method. Feel free to submit a PR if you want to.
I'm going to close this for now, since I did already answer it, but feel free to re-open if you need to elaborate more.

authors: daviesgeek ravindra-miyani

repo: mgonto/restangular


text:
Move more towards composition, not inheritance

Since there's no hook into onDraw(Canvas) some level of inheritance is necessary, but this would allow another user to add the functionality into MyShinyNewTextViewNowWithLineNumbers.
Note, it's not tested since I didn't have r22 of the support lib. Mostly just copy/paste of code into DrawingEngine and then qualifying methods with textView.. Might have a couple bounds checking on initialization errors, but they'll likely come up early.

This is a tricky problem to solve. Unfortunately, the ExposesPaddingOffset trick doesn't pass the java compiler and every TextView subclass that uses DrawingEngine either needs to forward DrawingEngine's methods or expose the DrawingEngine itself.

Yea, it's definitely not a great solution. Tough problem to truly solve correctly :-/

also there are implementation artifacts of TextView creeping in. like onTextChanged being called before you think it would

yea i dunno sry

authors: mgottein ronshapiro

repo: mgottein/LineNumberTextView


text:
PEP 8 – Style for Python Code

Is your feature request related to a problem? Please describe.
As this project is meant to become a Python package, it is highly recommended to make it follow the PEP 8 - Style Guide for Python Code.
Source : PEP 8 – Style Guide for Python Code
Describe the solution you'd like
Make all source code more PEP 8-friendly.
Additional context

A python-jvm wrapper for interacting with the Ergo blockchain.

So we have to be careful of not following Java standards (at least try not to).

@mgpai22, you just need to run some tests before merging into main.
Keep me updated on required changes.

Sounds good! I will probably conclude testing this weekend.

Sounds good! I will probably conclude testing this weekend.

Nice!

@mgpai22, you just need to run some tests before merging into main. Keep me updated on required changes.

Hey sorry for the delay I got caught up with work.
So I began testing today. In the example_1.py file, when I call any function to print, I keep getting None printed to console. I have no idea why. In the functions itself in the helper_function.py I made it print to console rather than return and everything does work as expected.

No problem @mgpai22, thanks for the feedback. I will try to check that out 👍

I tested everything with various scenarios and they work well!
I am thinking of adding some sort of optional parameter to the ergo connection object to enable or disable logging. What do you think @rafidini ?

Well yeah, that would be useful for debugging purposes!  You can create an issue to describe the feature maybe


text:
Prefixes not supported for all units

Math.js doesn't support prefixes for all unit types. Therefore, units like [kBTU/hour] cannot be used. Seems like Math.js only supports prefixes for SI units. Another solution would be to support multiplication factors in unit definitions such as [1000*BTU/hour].

mathjs allows for definitions of units that includes prefixes as needed. For units like BTU that already exists, you need to override the unit with a definition from another unit (as the override removes the unit as a first step).
math.createUnit(
  'BTU',
  {definition: '1055.05585262 J', prefixes: 'short'},
  {override: true}
)

Maybe this method could aid to tweak units as needed.

Thanks for the suggestion. Yes, your suggestion would work, though I'm hesitant to pull the maintenance of the unit conversion factors into this project since it's not just BTU that's impacted. Most units in mathjs don't support prefixes so that would require overriding quite a few units.

Thanks for the consideration.
Another possibility that also works is to include variables in the mathjs parser like stating that kBTU = 1000 BTU then when you evaluate 10 kBTU implicit multiplication would make the correct unit in BTU and you would make a division to convert back to the unit you need.
Nonetheless, I think it would be lees work with createUnit but certainly more risk.


text:
🛑 Traffic Dashboard Zimmo is down

In 1bc981f, Traffic Dashboard Zimmo (https://traffic-zimmo.mediahuis.be) was down:

HTTP code: 525
Response time: 396 ms

Resolved: Traffic Dashboard Zimmo is back up in b260bce after 8 minutes.

repo: mh-data-science/upptime


text:
🛑 Traffic Dashboard Mediahuis Ierland is down

In 8c05b8a, Traffic Dashboard Mediahuis Ierland (https://traffic-inm.mediahuis.ie/api/system/status) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Traffic Dashboard Mediahuis Ierland is back up in 193560e.


text:
As a physics person/developer I want to be able to validate that my physics calculations are realistic

Do this by:
By looking at specific calculations that are done
By looking at intermediate variable graphs (motor power vs distance, kinetic energy, etc

This will be additionally validated by comparing results with nrel's fastsim results

This will be additionally validated by comparing results with nrel's fastsim results

repo: mheidebr/Electric-Car-Racing


text:
IE8 Permission denied when trying to perform AJAX request

When making an AJAX request through d3.json() to an external resource (hosted on another domain) on IE8 (Windows 7) I get:
Permission denied
r2d3.js                        Line: 7125

Which is the call to request.open().
Note: I'm using the development version of r2d3.js
The error doesn't occur if I use d3.json() on a local resource.

Hi there,
This project is no longer being maintained so this issue is being closed. Thank you for using r2d3 and taking the time to report this issue.

authors: gneatgeek monsieurBelbo


text:
Introduce option to fix the  problem

On commit b817cab23f3e5 there's a good point about having shortcuts that
are numbers. This provides an option to force the use of <nowait>
anyway, if you are sure that numbers won't appear.
References #180

I changed some things and merged it. This patch should solve the <nowait> issues. :)
Thanks!

authors: mhinz somini

repo: mhinz/vim-startify


text:
Hang when POST request using http2

1. Which version of Caddy are you using (caddy -version)?

Caddy 0.11.5
2. What are you trying to do?

I have  2 subdomains, api.xxx.com and h.xxx.com, they are on different servers. The web is h.xxx.com, which will post to api.xxx.com to get data. However, if http2 is enabled on api.xxx.com, the request will hang forever.
For example, I open h.xxx.com in my browser, it send POST request to api.xxx.com/add and will hang forever.
If I use http1.1 on api.xxx.com, it works perfectly and no problem at all.
3. What is your Caddyfile?
Caddyfile·of api.xxx.com
api.xxx.com {
	proxy /add localhost:9094
	errors /var/www/err
	log /var/www/log
}

Caddyfile·of h.xxx.com
h.xxx.com {
    root /var/www
}

4. How did you run Caddy (give the full command and describe the execution environment)?

caddy in linux terminal
5. Please paste any relevant HTTP request(s) here.

6. What did you expect to see?

No hang when post to api.xxx.com/add when using http2
7. What did you see instead (give full error messages and/or log)?

hang when post to api.xxx.com/add when using http2
8. Why is this a bug, and how do you think this should be fixed?

9. What are you doing to work around the problem in the meantime?

Using http1.1
10. Please link to any related issues, pull requests, and/or discussion.

Bonus: What do you use Caddy for? Why did you choose Caddy?

Are you using PHP or another server backend?  Could you post your full unedited caddyfile or a verison of it you know is causing the same issue.
I have found a similar issue using a PHP backend where 2 hosts share the same php fastcgi endpoint.

@tobya This is my full caddyfile. The 9094 port of server of api.xxx.com runs an ipfs cluster rest api, I believe the its backend is go.

@taoxinyi It seems that this may be something with the application serving HTTP2. I've been able to test caddy with Gitlab, Gitea, Matmo, Wordpress, Sentry and lots of custom API's written in PHP, Ruby, Go, and NodeJS some of which are very post heavy without issues from Caddy. I would recommend contacting the IPFS team about a possible fix as it seems that they aren't handling the HTTP2 connection properly.

authors: tankerkiller125 taoxinyi tobya

repo: mholt/caddy


text:
Docs: Rewrite / matches everything

This is a documentation bug.
On https://caddyserver.com/docs/rewrite it says:

Examples
Rewrite everything to /index.php. (rewrite / /index.php will only match /)
rewrite .* /index.php

The part highlighted by me seems to be untrue. rewrite / /index.php seems to have exactly the same effect as rewrite .* /index.php.
Looking at the code seems to confirm this: the match is unanchored, regexpMatches() does not add ^ or $.
https://github.com/mholt/caddy/blob/15fecbc16151308959674a5ce3843efb9e66bd5f/caddyhttp/rewrite/rewrite.go#L249-L259
By the way, in the section "Syntax" it also says:

from is the exact path to match or a regular expression to match

While technically "exact" does not mean "anchored", sometimes it is (erroneously) used synonymous, which strengthened the misconception to me.

Some background info: this behaviour was implemented in PR #2082, and discussed since in issue #2219 (discussion died down immediately after the issue was closed).
I kind of like the idea of reverting to exact path matching if it doesn't look like regex and does look like a path, but correcting the docs seems more straightforward in the short term.

The problem is that "looks like regex" is kind of ill-defined, as a Caddyfile doesn't use any special syntax for regexes so any simple path is also a valid regex.
Following the reasoning from https://github.com/mholt/caddy/issues/2219#issuecomment-403635452 the regex syntax is here to stay and if we want an exact match we should surround it with ^ and $ and escape special characters.
I think we should remove the "the exact path to match or" so that it just says: "from is a regular expression to match" and adjust the examples so that there is one SimpleRule example for an exact match (with ^ and $ and an escaped character), maybe one with a prefix match (with just ^) and one with a regex match.
I would prepare a MR, but I don't think the docs source is public?

Yeah, making that kind of determination is indeed not simple at all. Just say "it's regex only here" and be done with it so there's no confusion.
And, yeah, the docs repo used to be at https://github.com/caddyserver/website, but the developer is currently handling all the documentation updates themselves.

@mholt Seems this is yours then.
While you're editing that page, could you please clarify that with the complex syntax the base path is trimmed from the URL before the regex is matched, but it is not prepended to the to after the rewrite. This was not at all clear to me.

@AndreKR Sure, I'm ready to make those changes. It's a little hard to match which changes exactly you'd like from what you've said: any chance you could suggest a diff of the text on the page and I will make it today?

That was my original intention but I couldn't find the source for that page. Would you like me to save the HTML of the page in the browser and edit that to create a patch?

Or just copy + paste the text you want changed, doesn't have to be anything too proper in this case. :)

Since v1 is phasing out soon... closing. We've definitely fixed this in v2.

authors: AndreKR mholt whitestrake


text:
Query Specific TTL

would be cool

You can already do this
// Setting the TTL
mysql.query('SELECT id, username, avatar FROM accounts WHERE id = ?', [530], (err, res, cache) => {
    if (err) {
        throw new Error(err)
    }
    console.log(result)
}, {
    TTL: 6 // Will set TTL to 6 seconds only for this query
})

// Setting the cache option
mysql.query('SELECT id, username, avatar FROM accounts WHERE id = ?', [530], (err, res, cache) => {
    if (err) {
        throw new Error(err)
    }
    console.log(result)
}, {
    cache: false // Will not cache this query
})

// Setting the cache option alternative method
mysql.query({
    sql:'SELECT 6 + 6 AS solution',
    cache: false, // Do not cache this query
}, (err, res, cacheMysql, mysqlCache) => {
    // Do something with your results
})

Closing this issue for now, if you ment something else let me know and i'll re-open it :)

Uh, oh, think i'm going blind, sorry bout that, check out the latest repo i pushed, sliding-cache, i'll add cache providers to it, an option for that in mysql-cache would be useful, i think.

I could add your package, no problem :)

repo: michaeldegroot/mysql-cache


text:
Unexpected token near `('

Hi,
i'm not sure if the thing i found is a bug or if it's my fault. I installed a new symfony project in the Linux subsystem and runned phpunit. It seems like that your script is working fine (if i run the php.cmd it looks alright), but if i try to run the default unittest in phpstorm it's aborting with this:
[.] Bash path: C:\Windows\System32\bash.exe
[.] CWD: C:\Users\muell\AppData\Local\lxss\home\Marvin\OwnWebProject\api\tests\AppBundle\Controller
[.] ENV:
[.] Input arguments: C:/Users/muell/AppData/Local/Temp/ide-phpunit.php --no-configuration --filter /::testIndex( .*)?$/ Tests\AppBundle\Controller\DefaultControllerTest C:\Users\muell\AppData\Local\lxss\home\Marvin\OwnWebProject\api\tests\AppBundle\Controller\DefaultControllerTest.php
[.] Linux arguments: /mnt/c/Users/muell/AppData/Local/Temp/ide-phpunit.php --no-configuration --filter /::testIndex( .*)?$/ Tests\AppBundle\Controller\DefaultControllerTest /mnt/c/Users/muell/AppData/Local/lxss/home/Marvin/OwnWebProject/api/tests/AppBundle/Controller/DefaultControllerTest.php
[.] Linux command: php /mnt/c/Users/muell/AppData/Local/Temp/ide-phpunit.php --no-configuration --filter /::testIndex( .*)?$/ Tests\AppBundle\Controller\DefaultControllerTest /mnt/c/Users/muell/AppData/Local/lxss/home/Marvin/OwnWebProject/api/tests/AppBundle/Controller/DefaultControllerTest.php
[.] Windows command: C:\Windows\System32\bash.exe -c "php /mnt/c/Users/muell/AppData/Local/Temp/ide-phpunit.php --no-configuration --filter /::testIndex( .*)?$/ Tests\AppBundle\Controller\DefaultControllerTest /mnt/c/Users/muell/AppData/Local/lxss/home/Marvin/OwnWebProject/api/tests/AppBundle/Controller/DefaultControllerTest.php"
/bin/bash: -c: line 0: syntax error near unexpected token (' /bin/bash: -c: line 0: php /mnt/c/Users/muell/AppData/Local/Temp/ide-phpunit.php --no-configuration --filter /::testIndex( .*)?$/ Tests\AppBundle\Controller\DefaultControllerTest /mnt/c/Users/muell/AppData/Local/lxss/home/Marvin/OwnWebProject/api/tests/AppBundle/Controller/DefaultControllerTest.php'
I'm pretty sure somewhere is the wrong character used, but i dont have any idea where.
On WIndows i'm using the latest php 7.1.6 without xdebug (i think it's not necessary), on Ubuntu 7.0.18 with xdebug, and symfony is in version 3.3.2.
I hope my english will not trigger you, but i'm a very bloody german without any languageskills except a few programming languages :D
Best regards from Karlsruhe ^^

I see --filter param, do you run separate test method? If so, try my fork, as it has some improvements.

repo: michal-kocarek/PhpOnWindows


text:
Help me I have a problem

I'm testing AOS on this site: https://archetipo95.github.io/Material.Design.Site/
As you can see animations are not working and I don't know why.

Can you help me, sorry I'm new to web design maybe it's just my fault.

This is an other example: http://codepen.io/anon/pen/WowrJp
I can't animate even this.

<script>
  AOS.init({
    easing: 'ease-in-out-sine'
  });
</script>

Solved my problem

I had a similar issue but was able to resolve. If you're reading this and used the provided CDN's please read.
Crack open inspect element in your browser and do the following:

Check the DOM element where you added data-aos="blah" and scroll. If JS is loaded you'll see the class names change dynamically. If that works, your JS file is good but your css may be missing.

Select Sources to verify 'cdn.rawgit.com/michalsnik/aos/2.*(version you're on) is there and loads both aos.js and aos.css. My css didn't load even using the provided CDN so I manual placed the css file.

Hope this helps.

repo: michalsnik/aos


text:
Content Analysis - finding sensitive information by analysing file contents

How this works
Using a combination of regular expressions and mathematical calculations, file contents are analyzed for potentially sensitive credentials. This approach does not rely on the extension alone. By default all file extensions are scanned except the user excludes some in a configuration file.
Current and suggested behavior
The current behavior is that Gitrob relies on the file extensions of files in a repo to perform analysis. This leads to sensitive information contained in other files being missed/ignored e.g. private keys in .php files for example. The suggested behavior is to rely on the actual contents of a file rather than its extension for analysis
Why would the enhancement be useful to most users
This enhancement increases the accuracy of identifying sensitive information with Gitrob
Screenshots and GIFs
None yet
Gitrob Version: 1.1.2
OS and Version: Tested on Mac OS 10 and Ubuntu 16
Extra
Appears related to #93

@michenriksen please review and provide feedback. Thanks

When I am checking the result of the scan I can see that there are files missing that I know include usernames and passwords. It seems like the scan only relies to the name of the files.
I am using the version 1.1.2 of GitRob.
Do I have to do anything specific to make it scan the contents of the files after the word "password"?
I am scanning on GitHub Enterprise organizations.
/Peter

I've modified Gitrob to scan for file contents! Gitrob does not support this out of the box.
Just look into my forks. It works pretty well including number of regular expressions to search for all kinds of secrets.
If someone helps me with some code beautifications I'd file a pull request.

@Essenpreis thanks for looking into it.

Hi, Any updates on this?

repo: michenriksen/gitrob


text:
Custom message crashes Portenta H7

Issue template

Hardware description: Arduino Portenta H7 Machine Control
RTOS: mbedOS
Installation type: platformio
Version or commit hash: galactic

Start with the publisher example.
On platformio IDE with the fixed linker script add a custom package to .pio/libdeps/portneta_h7_m7/micro_ros_arduino/extras/library_generation/extra_packages/
custom_msgs
   msg
     Float64.msg
   CmakeLists.txt
   package.xml

Float64.msg:
float64 data
CmakeLists.txt:
cmake_minimum_required(VERSION 3.16)
project(custom_msgs)

# Set compiler options
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra -Wpedantic -Wvla -Wextra -Wnull-dereference -Wswitch-enum")

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)

set(msg_files
    "msg/Float64.msg")

# Create ros2 interfaces
rosidl_generate_interfaces(${PROJECT_NAME}
                           ${msg_files}
                           ADD_LINTER_TESTS)

if(BUILD_TESTING)
        find_package(ament_lint_auto REQUIRED)
        ament_lint_auto_find_test_dependencies()
endif()

ament_export_dependencies(rosidl_default_runtime)

ament_package()

package.xml:
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
  <name>custom_msgs</name>
  <version>3.0.0</version>
  <description>TODO: Package description</description>
  <maintainer email="root@todo.todo">root</maintainer>
  <license>TODO: License declaration</license>

  <buildtool_depend>ament_cmake</buildtool_depend>

  <test_depend>ament_lint_auto</test_depend>
  <test_depend>ament_lint_common</test_depend>

  <build_depend>rosidl_default_generators</build_depend>
  <exec_depend>rosidl_default_runtime</exec_depend>

  <member_of_group>rosidl_interface_packages</member_of_group>

  <export>
    <build_type>ament_cmake</build_type>
  </export>
</package>

Build lib with cd .pio/libdeps/portenta_h7_m7/micro_ros_arduino && docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=extras microros/micro_ros_static_library_builder:galactic -p portenta-m7
Build and upload a modified example
#include <micro_ros_arduino.h>

#include <stdio.h>
#include <rcl/rcl.h>
#include <rcl/error_handling.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
#include <custom_msgs/msg/float64.h>

#if !defined(TARGET_STM32F4) && !defined(ARDUINO_TEENSY41) && !defined(TARGET_PORTENTA_H7_M7)
#error This example is only available for Arduino Portenta, Arduino Teensy41 and STM32F4
#endif

rcl_publisher_t publisher;
custom_msgs__msg__Float64 msg;
rclc_support_t support;
rcl_allocator_t allocator;
rcl_node_t node;

#define LED_PIN 13

#define RCCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){error_loop();}}
#define RCSOFTCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){}}

void error_loop(){
  while(1){
    digitalWrite(LED_PIN, !digitalRead(LED_PIN));
    delay(100);
  }
}

void timer_callback(rcl_timer_t * timer, int64_t last_call_time)
{
  RCLC_UNUSED(last_call_time);
  if (timer != NULL) {
    RCSOFTCHECK(rcl_publish(&publisher, &msg, NULL));
    msg.data = msg.data + 1.0;
  }
}

void setup() {
  byte arduino_mac[] = { 0xAA, 0xBB, 0xCC, 0xEE, 0xDD, 0xFF };
  IPAddress arduino_ip(192, 168, 1, 177);
  IPAddress agent_ip(192, 168, 1, 113);
  set_microros_native_ethernet_udp_transports(arduino_mac, arduino_ip, agent_ip, 9999);

  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, HIGH);

  delay(2000);

  allocator = rcl_get_default_allocator();

  //create init_options
  RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));

  // create node
  RCCHECK(rclc_node_init_default(&node, "micro_ros_arduino_ethernet_node", "namespace", &support));

  // create publisher
  RCCHECK(rclc_publisher_init_best_effort(
    &publisher,
    &node,
    ROSIDL_GET_MSG_TYPE_SUPPORT(custom_msgs, msg, Float64),
    "topic_name"));

  msg.data = 0.0;
}

void loop() {
    RCSOFTCHECK(rcl_publish(&publisher, &msg, NULL));
    msg.data = msg.data + 1.0;
    delay(100);
}

Expected behavior
Portenta works
Actual behavior
Portenta crashes
Additional information
Inspecting the generated files, they look identical to those generated for std_msgs
ROSIDL_GET_MSG_TYPE_SUPPORT(custom_msgs, msg, Float64) seems to be the culprit here

Can you share the output of the micro-ROS agent using -v6 flag?

Can you share the output of the micro-ROS agent using -v6 flag?
How are you launching the micro-ROS agent?
Is IPAddress agent_ip(192, 168, 1, 113) the IP of your agent?

micro-ROS-agent:
ros@33e4457a7ca1:/workspaces/rCTRL/ros2$ source install/setup.bash && ros2 run micro_ros_agent micro_ros_agent udp4 --port 8090 -v6
[1648730970.706597] info     | UDPv4AgentLinux.cpp | init                     | running...             | port: 8090
[1648730970.706959] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 6

The example I posted above was slightly incorrect. This code reflects my actual networking setup
  byte arduino_mac[] = { 0xAA, 0xBB, 0xCC, 0xEE, 0xDD, 0xFF };
  IPAddress arduino_ip(192, 168, 1, 2);
  IPAddress agent_ip(192, 168, 2, 1);
  set_microros_native_ethernet_udp_transports(arduino_mac, arduino_ip, agent_ip, 8090);

It seems that your code is failing in RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));. This is not related to the created type because it should create a session and node before failing when creating the publisher.
Can you share the complete code (the one that you are building and flashing) with std_msgs and the modified one?

Can you share the Platform.IO project and build log? It can be related to different versions of the compiler between your PlatformIO and the version that we are using in the library building.

If this is not what you ment please let me know:
Processing portenta_h7_m7 (platform: ststm32; board: portenta_h7_m7; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/portenta_h7_m7.html
PLATFORM: ST STM32 (15.2.0) > Arduino Portenta H7 (M7 core)
HARDWARE: STM32H747XIH6 480MHz, 511.35KB RAM, 768KB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink, stlink)
PACKAGES:
 - framework-arduino-mbed 2.6.1
 - tool-dfuutil 1.9.200310
 - tool-openocd 2.1100.211028 (11.0)
 - tool-stm32duino 1.0.1
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <micro_ros_arduino> 2.0.4-galactic+sha.8e17d5b
|   |-- <Ethernet> 1.0.0
|   |   |-- <SocketWrapper> 1.0
|   |-- <SPI>
|   |-- <WiFi> 1.0
|   |   |-- <SocketWrapper> 1.0
Building in release mode
Checking size .pio/build/portenta_h7_m7/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  17.3% (used 90672 bytes from 523624 bytes)
Flash: [====      ]  38.2% (used 300072 bytes from 786432 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, dfu, jlink, mbed, stlink
CURRENT: upload_protocol = dfu
Looking for upload port...
Processing portenta_h7_m7 (platform: ststm32; board: portenta_h7_m7; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/portenta_h7_m7.html
PLATFORM: ST STM32 (15.2.0) > Arduino Portenta H7 (M7 core)
HARDWARE: STM32H747XIH6 480MHz, 511.35KB RAM, 768KB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink, stlink)
PACKAGES:
 - framework-arduino-mbed 2.6.1
 - tool-dfuutil 1.9.200310
 - tool-openocd 2.1100.211028 (11.0)
 - tool-stm32duino 1.0.1
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <micro_ros_arduino> 2.0.4-galactic+sha.8e17d5b
|   |-- <Ethernet> 1.0.0
|   |   |-- <SocketWrapper> 1.0
|   |-- <SPI>
|   |-- <WiFi> 1.0
|   |   |-- <SocketWrapper> 1.0
Building in release mode
Checking size .pio/build/portenta_h7_m7/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  17.3% (used 90672 bytes from 523624 bytes)
Flash: [====      ]  38.2% (used 300072 bytes from 786432 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, dfu, jlink, mbed, stlink
CURRENT: upload_protocol = dfu
Looking for upload port...
Auto-detected: /dev/cu.usbmodem14202
Forcing reset using 1200bps open/close on port /dev/cu.usbmodem14202
Waiting for the new upload port...
Uploading .pio/build/portenta_h7_m7/firmware.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2020 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Opening DFU capable USB device...
ID 2341:035b
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "Internal Flash   "
Downloading to address = 0x08040000, size = 301124

Erase   	[                         ]   0%            0 bytes
Erase   	[                         ]   0%            0 bytes
Erase   	[=                        ]   4%        12288 bytes
Erase   	[==                       ]   8%        24576 bytes
Erase   	[===                      ]  12%        36864 bytes
Erase   	[====                     ]  16%        49152 bytes
Erase   	[=====                    ]  20%        61440 bytes
Erase   	[======                   ]  24%        73728 bytes
Erase   	[=======                  ]  28%        86016 bytes
Erase   	[========                 ]  32%        98304 bytes
Erase   	[=========                ]  36%       110592 bytes
Erase   	[==========               ]  40%       122880 bytes
Erase   	[==========               ]  43%       131072 bytes
Erase   	[===========              ]  44%       135168 bytes
Erase   	[============             ]  48%       147456 bytes
Erase   	[=============            ]  53%       159744 bytes
Erase   	[==============           ]  57%       172032 bytes
Erase   	[===============          ]  61%       184320 bytes
Erase   	[================         ]  65%       196608 bytes
Erase   	[=================        ]  68%       204800 bytes
Erase   	[==================       ]  72%       217088 bytes
Erase   	[===================      ]  76%       229376 bytes
Erase   	[====================     ]  80%       241664 bytes
Erase   	[=====================    ]  84%       253952 bytes
Erase   	[======================   ]  88%       266240 bytes
Erase   	[=======================  ]  92%       278528 bytes
Erase   	[======================== ]  96%       290816 bytes
Download	[                         ]   0%            0 bytes
Download	[                         ]   1%         4096 bytes
Download	[=                        ]   4%        12288 bytes
Download	[==                       ]   8%        24576 bytes
Download	[===                      ]  12%        36864 bytes
Download	[====                     ]  16%        49152 bytes
Download	[=====                    ]  20%        61440 bytes
Download	[======                   ]  24%        73728 bytes
Download	[=======                  ]  28%        86016 bytes
Download	[========                 ]  32%        98304 bytes
Download	[=========                ]  36%       110592 bytes
Download	[==========               ]  40%       122880 bytes
Download	[===========              ]  44%       135168 bytes
Download	[============             ]  48%       147456 bytes
Download	[=============            ]  53%       159744 bytes
Download	[==============           ]  57%       172032 bytes
Download	[===============          ]  61%       184320 bytes
Download	[================         ]  65%       196608 bytes
Download	[=================        ]  68%       204800 bytes
Download	[==================       ]  72%       217088 bytes
Download	[===================      ]  76%       229376 bytes
Download	[====================     ]  80%       241664 bytes
Download	[=====================    ]  84%       253952 bytes
Download	[======================   ]  88%       266240 bytes
Download	[=======================  ]  92%       278528 bytes
Download	[======================== ]  96%       290816 bytes
Download	[=========================] 100%       301124 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state
========================= [SUCCESS] Took 13.97 seconds =========================

platform.ini:
# There are issues using platformio link against the static H7 uros library
# REFERENCE: https://github.com/micro-ROS/micro_ros_arduino/issues/774

[env:portenta_h7_m7]
platform = ststm32
board = portenta_h7_m7
framework = arduino
extra_scripts = fix_linker.py
monitor_speed = 9600
build_flags =
    #-std=c++17
    -L ./.pio/libdeps/portenta_h7_m7/micro_ros_arduino/src/cortex-m7/fpv5-d16-softfp/
    -D TARGET_PORTENTA_H7_M7

lib_deps =
    https://github.com/micro-ROS/micro_ros_arduino

Ok, we have replicated the problem. Give us some time to find a solution.

Thanks for the support, in the mean time should I be hunting down the compiler differences as you suggested?

Try using the following CMake in your custom message package:
cmake_minimum_required(VERSION 3.8)
project(custom_msgs)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)

if(BUILD_TESTING)
  find_package(ament_lint_auto REQUIRED)
  # the following line skips the linter which checks for copyrights
  # uncomment the line when a copyright and license is not present in all source files
  #set(ament_cmake_copyright_FOUND TRUE)
  # the following line skips cpplint (only works in a git repo)
  # uncomment the line when this package is not in a git repo
  #set(ament_cmake_cpplint_FOUND TRUE)
  ament_lint_auto_find_test_dependencies()
endif()

find_package(rosidl_default_generators REQUIRED)

rosidl_generate_interfaces(${PROJECT_NAME}
  "msg/Float64.msg"
 )

ament_package()

Changing the CMake and cleaning out the build directory solves the issue. Thanks for the help.
Its not clear to me what actually was the problem though.

It seems something related to CMAKE_CXX_STANDARD, C++ flags and/or linking stage. We are not sure. Please reopen if you have further questions.


text:
Not able to initialize terraform

While performing 'terraform init', I got the below error.
Initializing modules...
Initializing the backend...
Error: No valid credential sources found for AWS Provider.
Please see https://terraform.io/docs/providers/aws/index.html for more information on
providing credentials for the AWS Provider

Yes, you need to have your own AWS account, and configure your AWS credentials as you would if you were going to use the AWS CLI. The link you pasted explains further.
In case it's not clear, you only need to use this infra repo if you're trying to provision your own stack of micro frontends. And it won't work out of the box because it's hardcoded to deploy to a domain that you don't own. I will update the readme to make this a bit clearer as you're not the first person with this question.

repo: micro-frontends-demo/infra


text:
[FEATURE REQUEST] create a new user with authentication token

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
user can signup
Describe the solution you'd like
A clear and concise description of what you want to happen.
POST /user
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
This is one of the core models in the database with it.
Additional context
Add any other context or screenshots about the feature request here.
No

This is not among the tasks outlined in the sheet

authors: Alao-Abiodun dave-ok

repo: microapidev/comment-microapi


text:
Return value 0 on error

pymcuprog returns 0 when an error occurs during programming (e.g. when target disconnected from programmer), but return value should be nonzero for error.
Examples:
No error (return value is 0 -- correct):
$ pymcuprog -t uart -u /dev/ttyUSB1 -d attiny214 ping; echo $?
Connecting to SerialUPDI
Pinging device...
Ping response: 1E9120
Done.
0

Target disconnected (return value is still 0 -- wrong):
$ pymcuprog -t uart -u /dev/ttyUSB1 -d attiny214 ping; echo $?
Connecting to SerialUPDI
pymcuprog.pymcuprog - ERROR - Operation failed with PymcuprogError: UPDI initialisation failed
0

Wrong parameters (return value is 2 -- correct, it's nonzero):
$ pymcuprog foobar; echo $?
usage: pymcuprog [-h] [-d DEVICE] [-p PACKPATH] [-t TOOL] [-s SERIALNUMBER]
                 [-m MEMORY] [-o OFFSET] [-b BYTES] [-l LITERAL [LITERAL ...]]
                 [-f FILENAME] [-c CLK] [-u UART] [-i INTERFACE]
                 [-v {debug,info,warning,error,critical}] [-V] [-R] [--erase]
                 [--verify] [-x]
                 [-H {tool-toggle-power,user-toggle-power,simple-unsafe-pulse}] [-U]
                 [-C]
                 {ping,erase,read,write,verify,getvoltage,getsupplyvoltage,reboot-debugger,setsupplyvoltage,getusbvoltage,reset}
pymcuprog: error: argument action: invalid choice: 'foobar' (choose from 'ping', 'erase', 'read', 'write', 'verify', 'getvoltage', 'getsupplyvoltage', 'reboot-debugger', 'setsupplyvoltage', 'getusbvoltage', 'reset')
2

Logged internally as DSG-5157.
(Thanks for the detailed report)

Fixed in 3.14

authors: ArneRossius xedbg

repo: microchip-pic-avr-tools/pymcuprog


text:
Upgrade to Micronaut 4

This commit upgrades the plugin to use Micronaut 4 by default. It switches from using the io.micronaut:micronaut-bom to io.micronaut.bom:micronaut-bom.
There are still test failures due to incompatibilities with Micronaut Data.

The CRaC tests are failing at this stage:

RUN release="$(curl -sL https://api.github.com/repos/CRaC/openjdk-builds/releases/latest)"

which I think is related to the GitHub API rate limits which we are constantly hitting those days ...


text:
BC21 Error when running Import Classification Data from Excel

Platform 21.0.45803.0 + Application 21.0.45833.0
Data Classification Worksheet
Set Up Data Classifications
Import Classification Data from Excel
Choose Excel file and hit next *** NOTE it does not matter what excel file you attach, the issue happens when the system tries to open the file, the data inside does NOT matter

As that's not a bug in the AL language or compiler, it's off-topic here.
Since Data Classification seems to be a System Module, you should be able to report the issue on AlAppExtensions instead. You should probably give them an example Excel file though...!

Hi, this issue is out of scope of for this repository. You should do one of the following:

Open a support request to CSS through the PartnerSource portal
Open a bug in Collaborate
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

As a reminder, this repository only handles issues to do with the compiler or VSCode development experience for AL.

authors: dnpb srkkoneti thloke

repo: microsoft/AL


text:
[Event Request] Codeunit 81 - Sales-Post (Yes/No) - OnBeforeRun

Hi, would it be possible to get an event OnBeforeRun in codeunit 80, trigger OnRun, like this :

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: JesperSchulz VMotin

repo: microsoft/ALAppExtensions


text:
[Event Request] Codeunit 5510 Production Journal Mgt - OnAfterProdOrderCompSetFilters

Hi, would it be possible to get an event OnAfterProdOrderCompSetFilters in codeunit 5510, procedure InsertComponents, like this :
    procedure InsertComponents(ProdOrderLine: Record "Prod. Order Line"; CheckRoutingLink: Boolean; Level: Integer)
    var
        ProdOrderComp: Record "Prod. Order Component";
    begin
        // Components with no Routing Link or illegal Routing Link
        ProdOrderComp.Reset();
        ProdOrderComp.SetRange(Status, ProdOrderLine.Status);
        ProdOrderComp.SetRange("Prod. Order No.", ProdOrderLine."Prod. Order No.");
        ProdOrderComp.SetRange("Prod. Order Line No.", ProdOrderLine."Line No.");
        ProdOrderComp.SetFilter("Item No.", '<>%1', '');

        OnAfterProdOrderCompSetFilters(ProdOrderComp);

        if ProdOrderComp.Find('-') then
            repeat
                if not CheckRoutingLink then
                    InsertConsumptionItemJnlLine(ProdOrderComp, ProdOrderLine, Level)
                else
                    if not RoutingLinkValid(ProdOrderComp, ProdOrderLine) then
                        InsertConsumptionItemJnlLine(ProdOrderComp, ProdOrderLine, Level);
            until ProdOrderComp.Next = 0;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterProdOrderCompSetFilters(ProdOrderComp: Record "Prod. Order Component")
    begin
    end;

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


text:
[Event Request] OnBeforeIsActiveProductionBOM @ Codeunit 99000770 "Where-Used Management"

I'd like to propose the Event OnBeforeIsActiveProductionBOM in Codeunit "Where-Used Management" with the Handled-Pattern. Please let me know if you need additional information from me.
local procedure IsActiveProductionBOM(ProductionBOMLine: Record "Production BOM Line"): Boolean
// START
var
    IsHandled: Boolean;
    Result: Boolean;
begin
    OnBeforeIsActiveProductionBOM(ProductionBOMLine, Result, IsHandled);
    if IsHandled then
        exit(Result);

// STOP
    if ProductionBOMLine."Version Code" = '' then
        exit(not IsProductionBOMClosed(ProductionBOMLine));

    exit(not IsProdBOMVersionClosed(ProductionBOMLine));
end;

// START
[IntegrationEvent(false, false)]
local procedure OnBeforeIsActiveProductionBOM(ProductionBOMLine: Record "Production BOM Line"; var Result: Boolean; var IsHandled: Boolean)
begin
end;
// STOP

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: J-KVS JesperSchulz


text:
[Event Request] codeunit 22 "Item Jnl.-Post Line" - New event OnApplyItemLedgEntryOnAfterCloseReservEntry

Hi,
in function ApplyItemLedgEntry, I suggest to add a new event "OnApplyItemLedgEntryOnAfterCloseReservEntry", according to the one already existing that works OnBefore (OnApplyItemLedgEntryOnBeforeCloseReservEntry)
                OnApplyItemLedgEntryOnBeforeCloseReservEntry(OldItemLedgEntry, ItemJnlLine, ItemLedgEntry);
                ReservEngineMgt.CloseReservEntry(ReservEntry, false, false);

// NEW >>
OnApplyItemLedgEntryOnAfterCloseReservEntry(OldItemLedgEntry, ItemJnlLine, ItemLedgEntry,ReservEntry);
// NEW <<
OldItemLedgEntry.CalcFields("Reserved Quantity");
AppliedQty := -Abs(ReservEntry."Quantity (Base)");
This new event can be similar to the existing one, but adding ReservEntry record as parameter
Thank you

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: JesperSchulz alessandrovecchio


text:
[Scope Change Request] - DocExchServiceAuth.Page - GetAuthError

We would like to have the scope changed for the following procedure:
Object: DocExchServiceAuth.Page
Procedure: GetAuthError
Reason: In extensions that use the universal code, it should be possible to use the default OAuth logic. For that, the "OnPrem" flag must be removed from the following procedure.
[Scope('OnPrem')]
[NonDebuggable]
procedure GetAuthError(): Text
begin
    exit(AuthError);
end;

Sorry in understand your argument, but for security issues this is both marked as [Scope('OnPrem')] and
[NonDebuggable]

authors: AndersLarsenMicrosoft acadonAG-dev


text:
[Event Request] Report 7305 "Whse.-Source - Create Document" - dataitem "Posted Whse. Receipt Line"

Please add an Event OnPostedWhseRcptLineOnBeforeGetWhseItemTrkgSetup in dataitem "Posted Whse. Receipt Line" in Report 7305 "Whse.-Source - Create Document"
dataitem("Posted Whse. Receipt Line"; "Posted Whse. Receipt Line")
	{
	DataItemTableView = SORTING("No.", "Line No.");

	trigger OnAfterGetRecord()
	var
		PostedWhseReceiptLine2: Record "Posted Whse. Receipt Line";
		TempWhseItemTrkgLine: Record "Whse. Item Tracking Line" temporary;
		WMSMgt: Codeunit "WMS Management";
		ItemTrackingManagement: Codeunit "Item Tracking Management";
		IsHandled: Boolean; <-- NEW VAR
	begin
		WMSMgt.CheckOutboundBlockedBin("Location Code", "Bin Code", "Item No.", "Variant Code", "Unit of Measure Code");

		WhseWkshLine.SetRange("Whse. Document Line No.", "Line No.");
		if not WhseWkshLine.FindFirst() then begin
			PostedWhseReceiptLine2 := "Posted Whse. Receipt Line";
			PostedWhseReceiptLine2.TestField("Qty. per Unit of Measure");
			PostedWhseReceiptLine2.CalcFields("Put-away Qty. (Base)");
			PostedWhseReceiptLine2."Qty. (Base)" :=
			  PostedWhseReceiptLine2."Qty. (Base)" -
			  (PostedWhseReceiptLine2."Qty. Put Away (Base)" +
			   PostedWhseReceiptLine2."Put-away Qty. (Base)");
			if PostedWhseReceiptLine2."Qty. (Base)" > 0 then begin
				PostedWhseReceiptLine2.Quantity :=
				  Round(
					PostedWhseReceiptLine2."Qty. (Base)" /
					PostedWhseReceiptLine2."Qty. per Unit of Measure", UOMMgt.QtyRndPrecision);

					IsHandled := false;
					OnPostedWhseRcptLineOnBeforeGetWhseItemTrkgSetup(WhseWkshLine."Location Code", IsHandled); <-- NEW EVENT
					if not IsHandled then
						if ItemTrackingManagement.GetWhseItemTrkgSetup("Item No.") then
							ItemTrackingManagement.InitItemTrackingForTempWhseWorksheetLine(
							"Warehouse Worksheet Document Type"::Receipt, PostedWhseReceiptLine2."No.", PostedWhseReceiptLine2."Line No.",
							PostedWhseReceiptLine2."Source Type", PostedWhseReceiptLine2."Source Subtype",
							PostedWhseReceiptLine2."Source No.", PostedWhseReceiptLine2."Source Line No.", 0);

				CreatePutAway.SetCrossDockValues(PostedWhseReceiptLine2."Qty. Cross-Docked" <> 0);
				CreatePutAwayFromDiffSource(PostedWhseReceiptLine2, DATABASE::"Posted Whse. Receipt Line");
				CreatePutAway.GetQtyHandledBase(TempWhseItemTrkgLine);
				UpdateWhseItemTrkgLines(PostedWhseReceiptLine2, DATABASE::"Posted Whse. Receipt Line", TempWhseItemTrkgLine);

				if CreateErrorText = '' then
					CreatePutAway.GetMessage(CreateErrorText);
				if EverythingHandled then
					EverythingHandled := CreatePutAway.EverythingIsHandled;
			end;
		end;
	end;

	...
    }

    [IntegrationEvent(false, false)]
    local procedure OnPostedWhseRcptLineOnBeforeGetWhseItemTrkgSetup(LocationCode: Code[10]; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 41534.


text:
[Event Request] Page 490 "Acc. Schedule Overview" - procedure FormatStr - OnFormatStrOnBeforeExit

Please add an Event OnFormatStrOnBeforeExit in procedure FormatStr in Page 490 "Acc. Schedule Overview"
procedure FormatStr(ColumnNo: Integer): Text
    var
        Result: Text; <-- NEW VAR
        IsHandled: Boolean; <-- NEW VAR
    begin
        Result := (MatrixMgt.FormatRoundingFactor(ColumnLayoutArr[ColumnNo]."Rounding Factor", UseAmtsInAddCurr));
        IsHandled := false;
        OnFormatStrOnBeforeExit(ColumnLayoutArr,UseAmtsInAddCurr,ColumnNo,IsHandled, Result); <-- NEW EVENT
        if IsHandled then begin
            exit(Result);
        end;

        exit(MatrixMgt.FormatRoundingFactor(ColumnLayoutArr[ColumnNo]."Rounding Factor", UseAmtsInAddCurr));
    end;

    [IntegrationEvent(false,false)]
    local procedure OnFormatStrOnBeforeExit(ColumnLayoutArr: array[15] of Record "Column Layout";UseAmtsInAddCurr: Boolean;ColumnNo: Integer; var IsHandled: Boolean; var Result: Text)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 43560.


text:
[Event Request] codeunit 73 "Purch.-Explode BOM" OnAfterExplodeBOMCompLines (Similar to sales side)

Hi Development Team,
Similar to the "OnAfterExplodeBOMCompLines" event in codeunit 63 "Sales-Explode BOM", we would like to see the following event added, on the "purchase side":
local procedure ExplodeBOMCompLines(PurchLine: Record "Purchase Line")
    var
        PreviousPurchLine: Record "Purchase Line";
        Resource: Record Resource;
        InsertLinesBetween: Boolean;
        SkipComponent: Boolean;
    begin
        with PurchLine do begin
            ToPurchLine.Reset();
            ToPurchLine.SetRange("Document Type", "Document Type");
            ToPurchLine.SetRange("Document No.", "Document No.");
            ToPurchLine := PurchLine;
            NextLineNo := "Line No.";
            InsertLinesBetween := false;
            if ToPurchLine.Find('>') then
                if ToPurchLine."Attached to Line No." = "Line No." then begin
                    ToPurchLine.SetRange("Attached to Line No.", "Line No.");
                    ToPurchLine.FindLast();
                    ToPurchLine.SetRange("Attached to Line No.");
                    NextLineNo := ToPurchLine."Line No.";
                    InsertLinesBetween := ToPurchLine.Find('>');
                end else
                    InsertLinesBetween := true;
            if InsertLinesBetween then
                LineSpacing := (ToPurchLine."Line No." - NextLineNo) div (1 + NoOfBOMComp)
            else
                LineSpacing := 10000;
            if LineSpacing = 0 then
                Error(Text003);

            FromBOMComp.Find('-');
            repeat
                SkipComponent := false;
                OnExplodeBOMCompLinesOnBeforeCreatePurchLine(PurchLine, FromBOMComp, SkipComponent);
                if not SkipComponent then begin
                    ToPurchLine.Init();
                    NextLineNo := NextLineNo + LineSpacing;
                    ToPurchLine."Line No." := NextLineNo;
                    case FromBOMComp.Type of
                        FromBOMComp.Type::" ":
                            ToPurchLine.Type := ToPurchLine.Type::" ";
                        FromBOMComp.Type::Item:
                            begin
                                Item.Get(FromBOMComp."No.");
                                ToPurchLine.Type := ToPurchLine.Type::Item;
                                ToPurchLine.Validate("No.", FromBOMComp."No.");
                                ToPurchLine.Validate("Variant Code", FromBOMComp."Variant Code");
                                ToPurchLine.Validate("Unit of Measure Code", FromBOMComp."Unit of Measure Code");
                                ToPurchLine."Qty. per Unit of Measure" := UOMMgt.GetQtyPerUnitOfMeasure(Item, ToPurchLine."Unit of Measure Code");
                                ToPurchLine.Validate(
                                  Quantity,
                                  Round(
                                    "Quantity (Base)" * FromBOMComp."Quantity per" *
                                    UOMMgt.GetQtyPerUnitOfMeasure(
                                      Item, ToPurchLine."Unit of Measure Code") / ToPurchLine."Qty. per Unit of Measure",
                                    UOMMgt.QtyRndPrecision()));
                            end;
                        FromBOMComp.Type::Resource:
                            begin
                                Resource.Get(FromBOMComp."No.");
                                ToPurchLine.Type := ToPurchLine.Type::Resource;
                                ToPurchLine.Validate("No.", FromBOMComp."No.");
                                ToPurchLine.Validate("Variant Code", FromBOMComp."Variant Code");
                                ToPurchLine.Validate("Unit of Measure Code", FromBOMComp."Unit of Measure Code");
                                ToPurchLine."Qty. per Unit of Measure" := UOMMgt.GetResQtyPerUnitOfMeasure(Resource, ToPurchLine."Unit of Measure Code");
                                ToPurchLine.Validate(
                                  Quantity,
                                  Round(
                                    "Quantity (Base)" * FromBOMComp."Quantity per" *
                                    UOMMgt.GetResQtyPerUnitOfMeasure(
                                      Resource, ToPurchLine."Unit of Measure Code") / ToPurchLine."Qty. per Unit of Measure",
                                    UOMMgt.QtyRndPrecision()));
                            end;
                    end;

                    if (FromBOMComp.Type <> FromBOMComp.Type::" ") and
                       (PurchHeader."Expected Receipt Date" <> "Expected Receipt Date")
                    then
                        ToPurchLine.Validate("Expected Receipt Date", "Expected Receipt Date");

                    if PurchHeader."Language Code" = '' then
                        ToPurchLine.Description := FromBOMComp.Description
                    else
                        if not ItemTranslation.Get(FromBOMComp."No.", FromBOMComp."Variant Code", PurchHeader."Language Code") then
                            ToPurchLine.Description := FromBOMComp.Description;

                    OnBeforeInsertExplodedPurchLine(ToPurchLine, PurchLine, FromBOMComp);
                    ToPurchLine.Insert();
                    OnAfterInsertExplodedPurchLine(ToPurchLine, PurchLine, FromBOMComp);

                    if Selection = 1 then begin
                        ToPurchLine."Shortcut Dimension 1 Code" := "Shortcut Dimension 1 Code";
                        ToPurchLine."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";
                        ToPurchLine."Dimension Set ID" := "Dimension Set ID";
                        ToPurchLine.Modify();
                    end;

                    if PreviousPurchLine."Document No." <> '' then
                        if TransferExtendedText.PurchCheckIfAnyExtText(PreviousPurchLine, false) then
                            TransferExtendedText.InsertPurchExtText(PreviousPurchLine);

                    PreviousPurchLine := ToPurchLine;
                end;
            until FromBOMComp.Next() = 0;

            if TransferExtendedText.PurchCheckIfAnyExtText(ToPurchLine, false) then
                TransferExtendedText.InsertPurchExtText(ToPurchLine);
        end;
           // >>>>>>>>>>>>>>>>>>>
             OnAfterExplodeBOMCompLines(PurchLine, Selection, LineSpacing);
          // <<<<<<<<<<<<<<<<<<<
    end;

[IntegrationEvent(false, false)]
Local procedure OnAfterExplodeBOMCompLines(var PurchLine: Record "Purchase Line"; Selection: Integer; LineSpacing: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52485.

authors: JesperSchulz ZepposBE


text:
[Event Request] Table 951 - Time Sheet Line - OnAfterUpdateApproverID

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnAfterUpdateApproverID to be added to Table 951 Time Sheet Line with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnAfterUpdateApproverID(var vRecTimeSheetLine: Record "Time Sheet Line")
    begin
    end;

which would be called as follows from UpdateApproverID:
    procedure UpdateApproverID()
    var
        Resource: Record Resource;
    begin
        ResourcesSetup.Get();
        GetTimeSheetResource(Resource);
        if (Type = Type::Job) and ("Job No." <> '') and
           (((Resource.Type = Resource.Type::Person) and
             (ResourcesSetup."Time Sheet by Job Approval" = ResourcesSetup."Time Sheet by Job Approval"::Always)) or
            ((Resource.Type = Resource.Type::Machine) and
             (ResourcesSetup."Time Sheet by Job Approval" in [ResourcesSetup."Time Sheet by Job Approval"::"Machine Only",
                                                              ResourcesSetup."Time Sheet by Job Approval"::Always])))
        then
            "Approver ID" := GetJobApproverID()
        else
            SetApproverIDFromResource(Resource);
        OnAfterUpdateApproverID(Rec); //New
    end;

We would like to be able to to set the "Approver ID" from the Time Sheet Header instead.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52463.


text:
codeunit 5895 "Inventory Adjustment"

Inventory Adjustment sometimes (randomly) turns into an infinite cycle.
It stuck at line "until InbndValueEntry.Next() = 0", it cannot find the next record somehow. There are 2 records meet the filter criteria.
There is an easy fix, just needed to add a line "if InbndValueEntry.FindSet() then" before the repeat-until cycle, so it gets the first record and can step forward.
The problematic procedure (with fix:)
local procedure CalcInbndDocOldCost(InbndValueEntry: Record "Value Entry"; var CostElementBuf: Record "Cost Element Buffer")
begin
CostElementBuf.DeleteAll();
InbndValueEntry.SetCurrentKey("Item Ledger Entry No.", "Document No.");
InbndValueEntry.SetRange("Item Ledger Entry No.", InbndValueEntry."Item Ledger Entry No.");
InbndValueEntry.SetRange("Document No.", InbndValueEntry."Document No.");
InbndValueEntry.SetRange("Document Line No.", InbndValueEntry."Document Line No.");
if InbndValueEntry.FindSet() then //this line is added
with CostElementBuf do
repeat
if (InbndValueEntry."Entry Type" = InbndValueEntry."Entry Type"::"Direct Cost") and
(InbndValueEntry."Item Charge No." = '')
then begin
if TempInvtAdjmtBuf.Get(InbndValueEntry."Entry No.") then
InbndValueEntry.AddCost(TempInvtAdjmtBuf);
if InbndValueEntry."Expected Cost" then
AddExpectedCostElement("Cost Entry Type"::"Direct Cost", "Cost Variance Type"::" ", InbndValueEntry."Cost Amount (Expected)", InbndValueEntry."Cost Amount (Expected) (ACY)")
else begin
AddActualCostElement("Cost Entry Type"::"Direct Cost", "Cost Variance Type"::" ", InbndValueEntry."Cost Amount (Actual)", InbndValueEntry."Cost Amount (Actual) (ACY)");
if InbndValueEntry."Invoiced Quantity" <> 0 then begin
"Invoiced Quantity" := "Invoiced Quantity" + InbndValueEntry."Invoiced Quantity";
if not Modify then
Insert();
end;
end;
end;
until InbndValueEntry.Next() = 0;
end;
Would you please verify and validate the modification?

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10644.

Availability update: We will publish a fix for this issue in the next update for release 22.
Build ID to track: 56140.

authors: GyAMultisoft JesperSchulz


text:
[Event Request] codeunit 5931 "Resource Skill Mgt." - multiple publishers

Hello, would it be possible to add OnUnifyResSkillCodeOnBeforeInsert, OnAfterAssignRelationConfirmation, OnChangeResSkillRelationWithItem, OnAfterRevalidateRelationConfirmation event to codeunit 5931 "Resource Skill Mgt.", like this:
    local procedure UnifyResSkillCode(ObjectType: Enum "Resource Skill Type"; ObjectNo: Code[20]; var UnifiedResSkill: Record "Resource Skill"): Boolean
...
                      "Source Code" := UnifiedResSkill."Source Code";
                     "Source Type" := UnifiedResSkill."Source Type";
                 end;

>                 OnUnifyResSkillCodeOnBeforeInsert(NewResSkill, UnifiedResSkill);//New Event

                 Insert();
                 exit(true);
             end;

    local procedure AssignRelationConfirmation(SrcType: Enum "Resource Skill Type"; SrcCode: Code[20]; DestType: Enum "Resource Skill Type"; DestCode: Code[20]): Boolean
...
                      Type::"Service Item":
                         SrcTypeText := ServItem.TableCaption();
                 end;

>                 OnAfterAssignRelationConfirmation(ResSkill, SrcType, DestType, DestTypeText, SrcTypeText);//New Event

                 exit(ConfirmManagement.GetResponseOrDefault(StrSubstNo(Text002, DestTypeText, DestCode, SrcTypeText, SrcCode), true));
             end;
         end;

    procedure ChangeResSkillRelationWithItem(SrcType: Enum "Resource Skill Type"; SrcCode: Code[20]; RelationType: Enum "Resource Skill Type"; DestCode: Code[20]; OriginalCode: Code[20]; ServItemGroupCode: Code[10]): Boolean
...
                                      SetRange("No.", Item."Service Item Group");
                                     ResSkillCodesItemExist := FindFirst();
                                 end;
                         if ResSkillCodesItemExist then begin
>                             OnChangeResSkillRelationWithItem(Item, AssignWithUpdate, IsHandled);//New Event
                             if not IsHandled then
                                 AssignWithUpdate := ConfirmManagement.GetResponseOrDefault(Text028, true);
                         end;
                     end;

    local procedure RevalidateRelationConfirmation(SrcType: Enum "Resource Skill Type"; SrcCode: Code[20]; DestType: Enum "Resource Skill Type"; DestCode: Code[20]): Boolean
...
                      SrcTypeText := Item.TableCaption();
                 Type::"Service Item":
                     SrcTypeText := ServItem.TableCaption();
             end;
>             OnAfterRevalidateRelationConfirmation(ResSkill, SrcType, DestType, DestTypeText, SrcTypeText);//New Event
             exit(ConfirmManagement.GetResponseOrDefault(StrSubstNo(Text002, DestTypeText, DestCode, SrcTypeText, SrcCode), true));
         end;
     end;

     [IntegrationEvent(false, false)]
     local procedure OnUnifyResSkillCodeOnBeforeInsert(var NewResSkill: Record "Resource Skill"; var UnifiedResSkill: Record "Resource Skill")
     begin
     end;

     [IntegrationEvent(false, false)]
     local procedure OnAfterAssignRelationConfirmation(var ResSkill: Record "Resource Skill"; SrcType: Enum "Resource Skill Type"; DestType: Enum "Resource Skill Type"; var SrcTypeText: Text[30]; var DestTypeText: Text[30])
     begin
     end;

     [IntegrationEvent(false, false)]
     local procedure OnChangeResSkillRelationWithItem(Item: Record Item; var AssignWithUpdate: Boolean; var IsHandled: Boolean)
     begin
     end;

     [IntegrationEvent(false, false)]
     local procedure OnAfterRevalidateRelationConfirmation(var ResSkill: Record "Resource Skill"; SrcType: Enum "Resource Skill Type"; DestType: Enum "Resource Skill Type"; var SrcTypeText: Text[30]; var DestTypeText: Text[30])
     begin
     end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10836.

authors: JesperSchulz alapenas


text:
[Event Request] Page 6510 "Item Tracking Lines" procedure WriteToDatabase

Dear ALAppExtensions Team:
Our solution extends the tracking management funcionality.To do so, we need a new event publisher in procedure WriteToDatabase in Page 6510 "Item Tracking Lines"
NEW PUBLISHER:
[IntegrationEvent(false, false)]
local procedure OnWriteToDatabaseOnModifyLoop(xTempItemTrackingLine: Record "Tracking Specification" temporary;  TempItemTrackLineModify: Record "Tracking Specification" temporary; var TrackValuesChanged: Boolean);
begin
end;
The code in procedure "WriteToDatabase" in Page 6510 "Item Tracking Lines" would be modified as follows:
OLD CODE:
....
local procedure WriteToDatabase()
var
Window: Dialog;
ChangeType: Option Insert,Modify,Delete;
EntryNo: Integer;
NoOfLines: Integer;
i: Integer;
ModifyLoop: Integer;
Decrease: Boolean;
begin
OnBeforeWriteToDatabase(Rec, CurrentPageIsOpen);
if CurrentPageIsOpen then begin
TempReservEntry.LockTable();
TempRecValid;
        if Item."Order Tracking Policy" = Item."Order Tracking Policy"::None then
            QtyToAddAsBlank := 0
        else
            QtyToAddAsBlank := UndefinedQtyArray[1] * CurrentSignFactor;
.
.
.
 for ModifyLoop := 1 to 2 do begin
            if TempItemTrackLineModify.Find('-') then
                repeat
                    if xTempItemTrackingLine.Get(TempItemTrackLineModify."Entry No.") then begin
                        // Process decreases before increases
                        OnWriteToDatabaseOnBeforeRegisterDecrease(TempItemTrackLineModify);
                        Decrease := (xTempItemTrackingLine."Quantity (Base)" > TempItemTrackLineModify."Quantity (Base)");
                        if ((ModifyLoop = 1) and Decrease) or ((ModifyLoop = 2) and not Decrease) then begin
                            i := i + 1;
                            if (xTempItemTrackingLine."Serial No." <> TempItemTrackLineModify."Serial No.") or
                               (xTempItemTrackingLine."Lot No." <> TempItemTrackLineModify."Lot No.") or
                               (xTempItemTrackingLine."Appl.-from Item Entry" <> TempItemTrackLineModify."Appl.-from Item Entry") or
                               (xTempItemTrackingLine."Appl.-to Item Entry" <> TempItemTrackLineModify."Appl.-to Item Entry")
                            then begin
                                RegisterChange(xTempItemTrackingLine, xTempItemTrackingLine, ChangeType::Delete, false);
                                RegisterChange(TempItemTrackLineModify, TempItemTrackLineModify, ChangeType::Insert, false);
                                if (TempItemTrackLineInsert."Quantity (Base)" <> TempItemTrackLineInsert."Qty. to Handle (Base)") or
                                   (TempItemTrackLineInsert."Quantity (Base)" <> TempItemTrackLineInsert."Qty. to Invoice (Base)")
                                then
                                    SetQtyToHandleAndInvoice(TempItemTrackLineInsert);
                            end else begin
                                RegisterChange(xTempItemTrackingLine, TempItemTrackLineModify, ChangeType::Modify, false);
                                SetQtyToHandleAndInvoice(TempItemTrackLineModify);
                            end;
                            TempItemTrackLineModify.Delete();
                        end;
                    end else begin
                        i := i + 1;
.
.
.

....
NEW CODE:
...
local procedure WriteToDatabase()
var
Window: Dialog;
ChangeType: Option Insert,Modify,Delete;
EntryNo: Integer;
NoOfLines: Integer;
i: Integer;
ModifyLoop: Integer;
Decrease: Boolean;
//new code start
TrackValuesChanged: Boolean;
//new code end

begin
    OnBeforeWriteToDatabase(Rec, CurrentPageIsOpen);
    if CurrentPageIsOpen then begin
        TempReservEntry.LockTable();
        TempRecValid;

        if Item."Order Tracking Policy" = Item."Order Tracking Policy"::None then
            QtyToAddAsBlank := 0
        else
            QtyToAddAsBlank := UndefinedQtyArray[1] * CurrentSignFactor;
.
.
.
 for ModifyLoop := 1 to 2 do begin
            if TempItemTrackLineModify.Find('-') then
                repeat
                    if xTempItemTrackingLine.Get(TempItemTrackLineModify."Entry No.") then begin
                        // Process decreases before increases
                        OnWriteToDatabaseOnBeforeRegisterDecrease(TempItemTrackLineModify);
                        Decrease := (xTempItemTrackingLine."Quantity (Base)" > TempItemTrackLineModify."Quantity (Base)");
                        if ((ModifyLoop = 1) and Decrease) or ((ModifyLoop = 2) and not Decrease) then begin
                            i := i + 1;

			//new code start
                            **TrackValuesChanged:=false;
                            OnWriteToDatabaseOnModifyLoop(xTempItemTrackingLine, TempItemTrackLineModify, TrackValuesChanged);**
                            //new code end

                            if (xTempItemTrackingLine."Serial No." <> TempItemTrackLineModify."Serial No.") or
                               (xTempItemTrackingLine."Lot No." <> TempItemTrackLineModify."Lot No.") or
                               (xTempItemTrackingLine."Appl.-from Item Entry" <> TempItemTrackLineModify."Appl.-from Item Entry") or
                               (xTempItemTrackingLine."Appl.-to Item Entry" <> TempItemTrackLineModify."Appl.-to Item Entry")

			//new code begin
			**or TrackValuesChanged**
			//new code end

                            then begin
                                RegisterChange(xTempItemTrackingLine, xTempItemTrackingLine, ChangeType::Delete, false);
                                RegisterChange(TempItemTrackLineModify, TempItemTrackLineModify, ChangeType::Insert, false);
                                if (TempItemTrackLineInsert."Quantity (Base)" <> TempItemTrackLineInsert."Qty. to Handle (Base)") or
                                   (TempItemTrackLineInsert."Quantity (Base)" <> TempItemTrackLineInsert."Qty. to Invoice (Base)")
                                then
                                    SetQtyToHandleAndInvoice(TempItemTrackLineInsert);
                            end else begin
                                RegisterChange(xTempItemTrackingLine, TempItemTrackLineModify, ChangeType::Modify, false);
                                SetQtyToHandleAndInvoice(TempItemTrackLineModify);
                            end;
                            TempItemTrackLineModify.Delete();
                        end;
                    end else begin
                        i := i + 1;
.
.
.

....
Thanks!

I assume you code samples coming from older version. Please look into latest code in Master, we already have here function HasSameTracking() with OnAfterHasSameTracking event, so you can probably use it for your case. Please confirm if you still need this request after review latest code.
                            if (not xTempItemTrackingLine.HasSameTracking(TempItemTrackLineModify)) or
                               (xTempItemTrackingLine."Appl.-from Item Entry" <> TempItemTrackLineModify."Appl.-from Item Entry") or
                               (xTempItemTrackingLine."Appl.-to Item Entry" <> TempItemTrackLineModify."Appl.-to Item Entry")
                            then begin
                                RegisterChange(xTempItemTrackingLine, xTempItemTrackingLine, ChangeType::Delete, false);

Hi Alexander,
You are right, I was checking code in a previous version.
The function HasSameTracking() works for me.
Sorry for the inconvenience!

authors: AlexanderYakunin mcarmenvalera


text:
[Event Request] Table 210 "Job Journal Line" - Field "Posting Date" - trigger OnValidate()

field(4; "Posting Date"; Date)
        {
            Caption = 'Posting Date';

            trigger OnValidate()
            begin

----------------------- ADD EVENT ----------------------
                IsHandled := false;
                OnValidatePostingDateOnBeforeCheckPostingDate(Rec, IsHandled);
                if not IsHandled then
----------------------------------------------------------

                     if not IsTemporary() then
                        TestField("Posting Date");

                Validate("Document Date", "Posting Date");
                if "Currency Code" <> '' then begin
                    UpdateCurrencyFactor();
                    UpdateAllAmounts();
                end
            end;
        }
...............

[IntegrationEvent(false, false)]
local procedure OnValidatePostingDateOnBeforeCheckPostingDate(var JobJournalLine: Record "Job Journal Line"; var IsHandled : Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: CyrilleJsmt JesperSchulz


text:
Azure Kinect point density

Hi! Thank you for great API for kinect)
Unfortunately, I have a question about hardware of device, because I didn't find it in datasheet
How much is density of device is? If I have a square object 400mm x 400mm x 10 mm, how many point I will have in point cloud, based on kinect capture?
Sorry, if a question is little bit irrelevant to repo

The Azure Kinect camera resolution is 1024 x 1024 with a 120deg FOV. This means the angular resolution is ~8.5 pixels per degree. How many degrees of FOV is covered by the square object depends on the distance the camera is from the object. You can use simple trigonometry to calculate the angle based on the distance.

repo: microsoft/Azure-Kinect-Sensor-SDK


text:
Can Azure Kinect SDK interact with a web framework? (React, Vue)

I need some of the Azure Kinect functionalities, but what if i want to use the camera on the web instead of a desktop application? Will it be possible?

The web browser would have to have support for it, I assume.

No, not natively. You would need to write some kind of service to make it available.

authors: Jeremy410 troy-virtusense wes-b


text:
Multiple Teams no work Items deployed

I have a project with 6 teams and one of the teams has 12 stories and 1 - 4 tasks per story.
Creating a template from this contains the stories and tasks, however, creating a project from this template does not deploy the tasks or stories

Hi @andoius,
Is it possible to share the template? So that we can inspect.

Sure I can share it but I would need to send it directly as it needs to stay out of the public domain.
not sure if it helps in the meantime but all I get is:

Project DLAF_V1.3 created
7 team(s) created
Board-Column, Swimlanes, Styles updated

Alright!! Here is my email

Thank you for sharing template file, we will inspect.

Hi @andoius , We found out problem with the template.
Inspection
You have the area path other than the team name in the work item, as shown here
"System.AreaPath": "$ProjectName$\\Infrastructure"

Your team names are as shown below
"name": "Customer Infrastructure",
"name": "Coeo Infrastructure",

It is recommended to have the team areas in the work items area path, so it can be able to import back.Tool creates area path based on the team name, the format will be ProjectName\TeamName.
So, based on above details, since area path is different from team area, tool couldn't map the work item to team area. Hence the work items are not creating.
Resolution
In two ways you can correct this

You can bring all the work items to a team area in your primary project. Then try exporting using Template Builder
Modify the area paths in you work item JSON files to the required Team Name

ex: "System.AreaPath": "$ProjectName$\Customer Infrastructure"
You can copy and paste the same to all the work items.

authors: aksh-h andoius

repo: microsoft/AzureDevOpsDemoGenerator


text:
Error while loading Contoso Air demo

Hello,
I am receiving this error when trying to make a new project using the demo Contoso Air
"Error while creating release definition: Tasks with versions 'ARM Outputs:4.*' are not valid for deploy job 'Run on agent' in stage Stage 1."
I did try to delete the project it half created, reloaded the demo generator page and tried again with this same error.
AB#3930

Hi @jkubikng
Looks like you are using the Demo Generator for the first time. Please enable the Third-party application access via OAuth under Organization Setting >> Policies

Run the demo generator again and try to install the extension needed by the template.

Thank you!  When I pick Contoso Air template the directions for how to enable OAuth disappeared so I never noticed them.
Now with OAuth enabled I see further instructions to enable ARM Outputs.  Once I did that now the demo loaded correctly.
Thank you!

Thank you for sharing the updates.

authors: aksh-h jkubikng


text:
Unable to retrieve child resources

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.19.0
Regression From
1.18.0
Architecture
i86
Storage Explorer Build Number
No response
Platform
Windows
OS Version
windows10
Bug Description
Unable to retrieve child resources.
Steps to Reproduce
Unable to retrieve child resources.
Actual Experience
Unable to retrieve child resources.
Expected Experience
Unable to retrieve child resources.
Additional Context
Unable to retrieve child resources.

Unable to retrieve child resources.
Details:
An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.667" (uid=1000 pid=35503 comm="/snap/storage-explorer/32/StorageExplorerExe --typ" label="snap.storage-explorer.storage-explorer (enforce)") interface="org.freedesktop.Secret.Service" member="OpenSession" error name="(unset)" requested_reply="0" destination=":1.26" (uid=1000 pid=1746 comm="/usr/bin/gnome-keyring-daemon --daemonize --login " label="unconfined")

@OfficialMutazAwad  can you try:
snap connect storage-explorer:password-manager-service

If that doesn't work, then we recommend using the .tar.gz install of Storage Explorer.

Closing due to lack of response. If you are continuing to run into this problem, we recommend opening an Azure support ticket. You can also open a new issue here.

repo: microsoft/AzureStorageExplorer


text:
The azure account expires if deleting the environment custom whose associated account is the same with the azure account

Storage Explorer Version: 1.25.0-dev
Build Number: 20220607.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Monterey 12.4 (Apple M1 Pro)
Architecture ia32\x64
How Found: Ad-hoc testing
Regression From: Not a regression
Steps to Reproduce

Launch Storage Explorer.
Open the connect dialog -> Click 'Subscription' -> Select 'Azure' -> Click 'Next'.
Sign in one account.
Open the connect dialog -> Click 'Subscription' -> Select 'Custom Environment' -> Select one custom environment -> Click 'Next'.
Sign in the same account in step3.
Delete the custom environment used in the step5.
Click 'Open Explorer' -> Switch to the ACCOUNT MANAGEMENT panel.
Check the state of the account signed-in via Azure.

Expected Experience
The account displays normal.
Actual Experience
The account expires with the error detail 'No matching account found in MSAL cache'.
Additional Context

This issue reproduces regardless of using 'Default Web Browser/Integrated Sign-in'.
In the previous releases, the account disappears.
Here is the record:

@v-xianya I am unable to repro this. Can you please:

Set your Storage Explorer log level env var to debug
Enable the "Verbose Authentication Logging" setting

And then share your Storage Explorer and ServiceHub logs with me via Teams?
Thanks.

@MRayermannMSFT Got it.

@v-xianya did you send me those? I couldn't find them when I tried looking this morning. Perhaps they've been lost to teams scrolling history.
Could you try to repro this on latest main, and if it still repros then send me the logs again? Both authentication and Storage Explorer logs. Please make sure to set Storage Explorer log level to debug and enable verbose authentication logging. Personally I am still unable to repro. Tried 3 times this morning.

@MRayermannMSFT I reproduced this issue on the latest main build 20220815.1 and sent the log on teams.

Closing this as won't fix. This behavior is a result of the fact that within the MSAL cache, these are the same accounts. Identity team does not see this behavior being worth changing.

authors: MRayermannMSFT v-xianya


text:
handle cost management API throttling

Resolves #2835
What is being addressed
handle 429 and 503 status codes returned from azure cost management when rate limiting is applied and when service is temporarily unavailable.
How is this addressed

propagate HTTP status codes 429, 503 from azure cost management api to client side with retry-after X seconds
when TRE cost api returns 429 or 503, UI will retry to fetch results after given number of seconds from the response
add Shimmer effect while loading costs in UI

Loading cost (Shimmer):

When loading cost fails -  cost tag is hidden (In the future we might display in notification pane):

When loaded:

/test

/test

/test-destroy-env

/test

repo: microsoft/AzureTRE


text:
[releases/24.0] Move to generated keys in RSA tests

This pull request backports #826 to releases/24.0
Fixes AB#[Insert Work Item Number Here]

Does this need to be fixed into 24.0? Isn't 24.x sufficient?

repo: microsoft/BCApps


text:
GeocodeRequest - Address mapping

the GeocodeRequest call is not mapping all fields for Address I been testing and CountryRegionIso2, neighborhood and landmark  is always null or blank

That is by design as the geocode API doesn't support those values as you can see in the docs here. Note that the GeocodeRequest class takes in a SimpleAddress object: https://github.com/microsoft/BingMapsRESTToolkit/blob/master/Source/Models/SimpleAddress.cs
Note, if you want to geocode any address returned by another service in Bing Maps, use the formattedAddress value of the address with the "Location by query" API, for some reason this generally works better on average.

repo: microsoft/BingMapsRESTToolkit


text:
how to configure dispatch model?

I've a built a solution using BOT v4 with Visual Studio Template. This solution uses multiple LUIS and QnA models and Dispatch model is managing the user queries.
But seems composer looks more easy to manage as the BOT.
Can somebody point me to the doc or steps to configure dispatch model in composer? So that I can revamp the solution with composer.

@narulasrinivas the concept of dispatch is flipped inside out for adaptive dialogs since you get an opportunity to run the recognizer tied to the active dialog on every turn of the conversation. We continue to make several investments to the LU experience for composer where the backing LUIS applications (including QnA content when we support that) will be automatically cross-trained and the recognizers configured appropriately.
As you consider your move from the existing code based dialog to adaptive/ composer, you should consider refactoring your dialogs such that all LU and QnA content for each dialog is locally defined within that dialog.
If you really are looking for a 1:1 migration, then you could continue to use the dispatch CLI to create the parent dispatcher dialog and make it the main dialog for your bot with its dispatch produced LU in composer.
Note: you need to run dispatch followed by bf luis:convert to get the dispatch app in LU. Another alternate is to go to preview.luis.ai and export your dispatch app directly as LU file.

@vishwacsena - Thank you for providing clear direction.

@vishwacsena Can you create docs for Multiple LUIS and QnA?
I need this feature on Bot Framework Composer, but in LUIS in not clear how to do.
I saw this docs, but it's not clear how to use .cs file in the composer generated solution.

@vishwacsena @cwhitten
Can I use this approach also in multi-language LUIS app?
Must I define multiple LUIS app?
Must I update manually all LUIS except default set in Composer?

@andreatosato can you help clarify what exactly you are trying to accomplish?

@vishwacsena I setup dispatch model, works very well. I spent all yestardy to setup and test this feature.
Dispatch model work for different LUIS but on same culture.
I need to attach on Bot Framework Composer different culture.
How can I setup multilanguage in Composer?
Now works only en-us?
I have Teams bot for 2 client culture:
en-US
it-IT

@cwhitten can you comment on multi-lingual support in composer?

authors: andreatosato narulasrinivas vishwacsena

repo: microsoft/BotFramework-Composer


text:
Authenticating user without creating app manifest in teams app

Just because of authentication I need to create an app manifest and share the app manifest with users who want to test it .Is there a way to Authenticate user without creating app manifest so that I can directly share bot link with users.

@v-kydela can you help me out please.


text:
fix: lu file utterances references

Description

Task Item
close #5359

Screenshots

Coverage remained the same at 55.065% when pulling bf29cff1bd23bba15f8bdab19d9519dc00191930 on zhixzhan/lu-reference-fix into 2d28769fb2e59b13368858c762812d0a5e06fd14 on main.

Coverage remained the same at 55.065% when pulling bf29cff1bd23bba15f8bdab19d9519dc00191930 on zhixzhan/lu-reference-fix into 2d28769fb2e59b13368858c762812d0a5e06fd14 on main.

close this, bf-lu package has been updated in #5639

authors: coveralls zhixzhan


text:
Jocupi/external link indication

Fixes #3087
Description

Add title for external and internal links
Add icon for external links

Specific Changes

The allowedAttributes in the SANITIZE_HTML_OPTIONS at the packages/bundle/src/renderMarkdown.js file now also take the new role and class attributes
A new function to verify if a link is external is added at the packages/bundle/src/renderMarkdown.js file
A new style is added to add an icon for external links and is located at the packages/component/src/Styles/StyleSet/TextContent.js file

Please add test case.

Is there an update for this PR? There are a number of tree changes to Web Chat incoming, so my recommendation is to close this PR and open a new one. Please be sure to address compulim's comments above before filing the new PR.

authors: JorgeCupiV compulim corinagum

repo: microsoft/BotFramework-WebChat


text:
Add container-selinux provides to selinux-policy

Mariner SELinux-Policy supports container-selinux.
Add provides container-selinux to SELinux-Policy SPEC.
Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary
Mariner SELinux-Policy supports container-selinux.
Add provides container-selinux to SELinux-Policy SPEC.
Change Log

Change
Add provides container-selinux to SELinux-Policy SPEC.

Does this affect the toolchain?

NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXX

Test Methodology

Pipeline build id: Local build.

This change is not required as podman latest 4.1.1 has no dependency on container-selinux.
Podman upgraded to latest version 4.1.1 and fixed functionality issues with this PR:
https://github.com/microsoft/CBL-Mariner/pull/3418/
closing this PR as not required.

repo: microsoft/CBL-Mariner


text:
Update readme.md

OSGTools is no longer required.

Thanks for catching these. When I saw your PRs I have just made some big changes to the affected files, so I incorporated your changes into my PR instead of trying to merge them.

authors: JERisBRISK lemccomb

repo: microsoft/CoseSignTool