Fix/30378: Update correct pendingFields

Details
Update pending fields for failure data
Update correct pendingFields in saveWaypoint Function
Fixed Issues

$ https://github.com/Expensify/App/issues/30378
PROPOSAL: https://github.com/Expensify/App/issues/30378#issuecomment-1780378035
Tests

Create a new Distance Request (leave description empty)
Go to a workspace distance request details page
Go offline
Verify that the description row is not grayed out

[x] Verify that no errors appear in the JS console

Offline tests

Same above
QA Steps

Create a new Distance Request (leave description empty)
Go to a workspace distance request details page
Go offline
Verify that the description row is not grayed out

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Screencast from 14-11-2023 02:45:26.webm

Android: mWeb Chrome

Screencast from 14-11-2023 02:54:05.webm

iOS: Native

Screencast from 14-11-2023 02:21:01.webm

iOS: mWeb Safari

Screencast from 14-11-2023 02:26:06.webm

MacOS: Chrome / Safari

Screencast from 14-11-2023 02:02:07.webm

MacOS: Desktop

Screencast from 14-11-2023 02:05:08.webm

We have updated author checklist template, but the automated GH Action doesn't work on this PR. I updated template manually. But PR Author Checklist / checklist (pull_request) still fail

Hi @DylanDylann, I've encountered an issue where the 'distance request' option becomes greyed out and inaccessible when I go offline, comparing to staging there is no such case. Could you please investigate this?

@ArekChr Updated. We need to clear pendingFields in sucessData and FailureData

Testing

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/24796318/b6784387-0490-4026-89ed-53f2f25b041b

Android: mWeb Chrome
https://github.com/Expensify/App/assets/24796318/42a3a137-7563-43a7-ac8f-845a07fdc148

iOS: Native
https://github.com/Expensify/App/assets/24796318/b7232d08-7cd4-4a6e-a85e-3daa836fd040

iOS: mWeb Safari
https://github.com/Expensify/App/assets/24796318/53e176c3-7a39-4453-b52a-f33970963a1c

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/24796318/57c4f0f5-dcec-417a-9c50-2d6913f9e146

MacOS: Desktop
https://github.com/Expensify/App/assets/24796318/cd32bd49-a2c5-4c3e-842a-b35a879ec6b6

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

looks like this regression is related https://github.com/Expensify/App/issues/31639#issuecomment-1821571831

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.1-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Feature/162237552 multiple invites

You can now add more than 1 email to the mutation createInvite so you can send invites to multiple emails at once.

Nevermind, Github was not showing your more recent commits.


Use uncompiled files in a Svelte project

Summary
In a Svelte project I can use the *.svelte and *.ts uncompiled files directly in my project and compile them with my own bundler.
Set of changes

Add "svelte": "src/index.ts" line to package.json;
fix import type when needed (for compliance with default SvelteKit tsconfig);
what I don't know is how to export src dir in the final bundle, can you please enlight me?

I'm not quite sure why'd you ever want to do this though? Can you explain what your motivation here is? We have quite a long/sophisticated transpilation/compilation pipeline that also gives us a lot of control and guarantees over the code output, so we actually prefer to not expose any source files.

I was trying some modifications and realized that I didn't have the source and that Svelte was already using the compiled one. In the Svelte world it is common to let Svelte compile (and optimize) various aspects of the code.
Why not at least for this package? In the end it is only relative to Svelte.

So, in other words then though, there's no point and only drawbacks to this potentially, I suppose... 😅

I think an advantage could be that (even in the future) the Svelte compiler could optimize and change that code as it sees fit (from a Suspense perspective and more that is coming to Svelte).
Why drawbacks?

could optimize and change that code as it sees fit (from a Suspense perspective and more that is coming to Svelte).

There's nothing to optimise though, there are no .svelte files in @urql/svelte. It's a simple API to access stores and interface with the Client and the Svelte compiler isn't magic and doesn't even operate on these files 😅  In other words, what Svelte is compiling to (ignoring component lifecycle transpilations) is already present in the stores we've implemented, and it's built to interface with Svelte components. If we'd hypothetically resolve source files in this library then all we'd do is skip our pipeline and go through a simple transpilation/minification pipeline that's separate from ours, but not better.

You're right.


react-native run-android不动

react-native run-android 卡在Loading from localhost：8081不动了
浏览器访问http://localhost:8081/显示React Native packager is running.

Please try to describe your problem in English, and follow the the Issue Template.
请尽量尝试用英文描述您的问题，并且参考问题模板。


[MS-RDPECAM] Camera doesn't work in Microsoft Teams and Windows Camera

Describe the bug
A camera doesn't work with MS-RDPECAM protocol in Microsoft Teams and Windows Camera applications. Its led lights up for 2-4 seconds, nothing happens in the applications, and the camera LED goes out.
Relates to #4971 #10258 #10273.
To Reproduce
Steps to reproduce the behavior:

Run FreeRDP with the build and run parameters described in #10258.
Open https://webcamtests.com/.
Click "Check my webcam".
The camera should be working.
Open the "Camera" application.
The LED will blink slowly.
An error message will appear at the end.

Expected behavior
Teams and the Camera applications broadcast the camera image.
Screenshots

Application details

FreeRDP version (xfreerdp /version)
This is FreeRDP version 3.5.2-dev0 (bcd663b7d)

Command line used
./sdl-freerdp ./SessionDesktop.rdpw /gateway:type:arm /size:1366x768 /f /u:<username> /p:'<password>' /mic:sys:pulse,format:1 /network:auto /auto-reconnect /dvc:rdpecam -decorations /log-level:TRACE

Output of xfreerdp /buildconfig
Build config
This is FreeRDP version 3.5.2-dev0 (bcd663b7d)
Build configuration: BUILD_TESTING=OFF WINPR_HAVE_AIO_H=1 WINPR_HAVE_EXECINFO_BACKTRACE=1 WINPR_HAVE_EXECINFO_BACKTRACE_SYMBOLS=1 WINPR_HAVE_EXECINFO_BACKTRACE_SYMBOLS_FD=1 WINPR_HAVE_EXECINFO_HEADER=1 WINPR_HAVE_FCNTL_H=1 WINPR_HAVE_GETLOGIN_R=1 WINPR_HAVE_GETPWUID_R=1 WINPR_HAVE_INTTYPES_H=1 WINPR_HAVE_POLL_H=1 WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIBS= WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL=1 WINPR_HAVE_STDBOOL_H=1 WINPR_HAVE_STDINT_H=1 WINPR_HAVE_STRNDUP=1 WINPR_HAVE_SYSLOG_H=1 WINPR_HAVE_SYS_EVENTFD_H=1 WINPR_HAVE_SYS_FILIO_H= WINPR_HAVE_SYS_SELECT_H=1 WINPR_HAVE_SYS_SOCKIO_H= WINPR_HAVE_SYS_TIMERFD_H=1 WINPR_HAVE_TM_GMTOFF=1 WINPR_HAVE_UNISTD_H=1 WINPR_HAVE_UNWIND_H=1 WITH_AAD=ON WITH_ABSOLUTE_PLUGIN_LOAD_PATHS=ON WITH_ADD_PLUGIN_TO_RPATH=OFF WITH_ALSA=ON WITH_BINARY_VERSIONING=OFF WITH_CAIRO=ON WITH_CCACHE=OFF WITH_CHANNELS=ON WITH_CJSON_REQUIRED=OFF WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CLIENT_SDL=ON WITH_CLIENT_SDL2=ON WITH_CLIENT_SDL3=OFF WITH_CLIENT_SDL_AVAILABLE=1 WITH_CLIENT_SDL_VERSIONED=OFF WITH_CUPS=ON WITH_DEBUG_ALL=ON WITH_DEBUG_CAPABILITIES=ON WITH_DEBUG_CERTIFICATE=ON WITH_DEBUG_CHANNELS=ON WITH_DEBUG_CLIPRDR=ON WITH_DEBUG_CODECS=ON WITH_DEBUG_DVC=ON WITH_DEBUG_EVENTS=ON WITH_DEBUG_KBD=ON WITH_DEBUG_LICENSE=ON WITH_DEBUG_MUTEX=ON WITH_DEBUG_NEGO=ON WITH_DEBUG_NLA=ON WITH_DEBUG_NTLM=ON WITH_DEBUG_RAIL=ON WITH_DEBUG_RDP=ON WITH_DEBUG_RDPDR=ON WITH_DEBUG_RDPEI=ON WITH_DEBUG_RDPGFX=ON WITH_DEBUG_REDIR=ON WITH_DEBUG_RFX=ON WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=ON WITH_DEBUG_SCHANNEL=ON WITH_DEBUG_SDL_EVENTS=ON WITH_DEBUG_SDL_KBD_EVENTS=ON WITH_DEBUG_SND=ON WITH_DEBUG_SVC=ON WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=ON WITH_DEBUG_TIMEZONE=ON WITH_DEBUG_TRANSPORT=ON WITH_DEBUG_TSG=ON WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_URBDRC=ON WITH_DEBUG_WND=ON WITH_DEBUG_X11=ON WITH_DEBUG_X11_LOCAL_MOVESIZE=ON WITH_DEBUG_XV=ON WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=ON WITH_DSP_FFMPEG_AVAILABLE=1 WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=ON WITH_FREERDP_DEPRECATED=OFF WITH_FREERDP_DEPRECATED_COMMANDLINE=ON WITH_FULL_CONFIG_PATH=OFF WITH_FUSE=ON WITH_GFX_FRAME_DUMP=OFF WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_INTERNAL_MD4=OFF WITH_INTERNAL_MD5=OFF WITH_INTERNAL_RC4=OFF WITH_JPEG=OFF WITH_JSONC_REQUIRED=OFF WITH_JSON_DISABLED=OFF WITH_KRB5=ON WITH_KRB5_NO_NTLM_FALLBACK=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBRESSL=OFF WITH_LODEPNG=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_MS_RDPECAM_CLIENT=ON WITH_NATIVE_SSPI=OFF WITH_NEON=OFF WITH_OPAQUE_SETTINGS=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSSL=ON WITH_OPUS=OFF WITH_OSS=ON WITH_PCSC=ON WITH_PKCS11=ON WITH_PLATFORM_SERVER=ON WITH_POLL=ON WITH_PROFILER=OFF WITH_PROXY=ON WITH_PROXY_APP=ON WITH_PROXY_EMULATE_SMARTCARD=OFF WITH_PROXY_MODULES=ON WITH_PULSE=ON WITH_RDTK=ON WITH_SAMPLE=ON WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SDL_IMAGE_DIALOGS=OFF WITH_SDL_LINK_SHARED=ON WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SHADOW=ON WITH_SMARTCARD_EMULATE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SMARTCARD_PCSC=ON WITH_SOXR=OFF WITH_SSE2=OFF WITH_SWSCALE=ON WITH_SYSTEMD=OFF WITH_THIRD_PARTY=OFF WITH_TIMEZONE_ICU=OFF WITH_UNICODE_BUILTIN=OFF WITH_URIPARSER=ON WITH_VAAPI=OFF WITH_VAAPI_AVAILABLE=1 WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_VERBOSE_WINPR_ASSERT=ON WITH_VIDEO_FFMPEG=ON WITH_VIDEO_FFMPEG_AVAILABLE=1 WITH_WAYLAND=ON WITH_WEBVIEW=OFF WITH_WEBVIEW_QT=OFF WITH_WINPR_DEPRECATED=OFF WITH_WINPR_JSON=ON WITH_WINPR_TOOLS=ON WITH_WIN_CONSOLE=ON WITH_X11=ON WITH_XCURSOR=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XV=ON
Build type:          RelWithDebInfo
CFLAGS:               -Wall -Wpedantic -Wno-padded -Wno-cast-align -Wno-declaration-after-statement -fPIC -Wall -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -fno-omit-frame-pointer
Compiler:            GNU, 11.4.0
Target architecture: x64

OS version connecting to (server side) - Windows 11

If available the log output from a run with /log-level:trace 2>&1 | tee log.txt
freerdp-with_out-sanitizer.tar.gz

Environment (please complete the following information):

OS: Linux
Version/Distribution: Xubuntu 22.04.4 LTS
Architecture: x86_64

Additional context
Before running FreeRDP, I rebooted a PC to reset any running threads, if there were any.

Hello @oleg0421. The problem still exists, so as we agreed, I created this issue.

I kinda have the same symptoms with youcam I a few pictures and then tons of "no credits" messages. Perhaps the guess at 30 fps for the cameras is a bit too much

@progxaker , @hardening : I am looking into this and will get back with more details. Meanwhile, could you please post here the results of these commands for your cameras:
v4l2-ctl --list-formats --device=/dev/video0
v4l2-ctl --list-formats-ext

Thank you!

@oleg0421:
List formats
# v4l2-ctl --list-formats --device=/dev/video0
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)

List formats (ext)
# v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Discrete 640x480
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.033s (30.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033s (30.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033s (30.000 fps)
                Size: Discrete 1024x768
                        Interval: Discrete 0.100s (10.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.125s (8.000 fps)
                Size: Discrete 1280x1024
                        Interval: Discrete 0.125s (8.000 fps)
                Size: Discrete 1600x900
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 1600x1200
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 640x480
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.033s (30.000 fps)

@progxaker : thank you for the v4l2 output. It looks like your camera supports 30fps only up to 480p (640x480) resolution. Anything higher has lower fps. When you go to https://webcamtests.com, it requests 480p:
[08:47:41:059] [5263:0000154f] [INFO][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_stream_start]: Camera format: YUYV, width: 640, height: 480, fps: 30

so the camera works. However, when you go to Teams, it requests 720p:
[08:48:03:376] [5263:0000154f] [INFO][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_stream_start]: Camera format: YUYV, width: 1280, height: 720, fps: 30

and the driver/camera refuses to provide even a single sample.
This is different behavior from my cameras, which throttle, but still output frames at lower fps.
Windows camera app in settings allows to select the resolution. My guess is that if you select 640x480 or lower, it should work, but anything higher won't. Please try this test and confirm that's the case.
Also, as this is resource heavy feature, it's better to compile with all debug-related options turned OFF to make sure video performance is not impacted.
I will investigate more about how to detect/control supported fps based on resolution and avoid hard coding it to 30.

Looks like I need to rework the logic in channels/rdpecam/client/v4l/camera_v4l.c to utilize the following ioctl:
VIDIOC_ENUM_FRAMESIZES
VIDIOC_ENUM_FRAMEINTERVALS

Please assign the bug to me.

However, when you go to Teams, it requests 720p:

According to a response on Microsoft Community:

Here are the bandwidth requirements for different resolutions:

30 kbps for audio calling
130 kbps for audio calling and screen sharing
500 kbps for video calling 360p at 30fps
1.2 Mbps for HD quality video calling with a resolution of HD 720p at 30fps
1.5 Mbps for HD quality video calling with a resolution of HD 1080p at 30fps
500kbps/1Mbps for Group Video calling
1Mbps/2Mbps for HD Group video calling (540p videos on 1080p screen)

My guess is that if you select 640x480 or lower, it should work, but anything higher won't. Please try this test and confirm that's the case.

Most articles state that I can change the resolution in the Camera app, but there is no such option... I can't seem to change it before the app initializes with the camera (i.e. without errors).

Also, as this is resource heavy feature, it's better to compile with all debug-related options turned OFF to make sure video performance is not impacted.

I'll test this on Monday.

I tested #10276 a bit, but unfortunately it didn't solve the problem.

@progxaker @oleg0421 I´ve reverted the default ON for this channel with #10280 as we must keep API/ABI stable for 3.x releases. (still easily enabled, just not by default)

@akallabeth : agree, but please see my comment here:
https://github.com/FreeRDP/FreeRDP/pull/10280/commits/0d974acab218352da82ab492156b73409a1621fd#r1643436706

Hello @oleg0421. I built FreeRDP from the master branch (0633623b6db8cb1a1994e630abc650733a562e4f) and now it looks better, I was able to get an image in the Camera application but still not in Teams.
I'll try to built without the DEBUG logs and let you know.
I ran webcamtests, Teams and then Camera.
freerdp-with_out-sanitizer.tar.gz

Hello @akallabeth.
I deleted the cache (build/) as I had DEBUG options cached when WITH_DEBUG_ALL was set to OFF, and after built and running FreeRDP I got the error: failed with /opt/freerdp-nightly-selfbuild/lib/freerdp3/librdpecam-client.so: cannot open shared object file: No such file or directory
I deleted the cache again, reverted the mentioned pull request (git revert de2a59a -m 1) and then FreeRDP was successfully started.

@oleg0421
I rebuilt FreeRDP without DEBUG and ran the applications in the same order. Unfortunately, nothing changed in Teams.
I also tested different video qualities in the Camera app - everything is fine, but it's strange why I have 144p with an 11:9 aspect ratio.

freerdp-with_out-sanitizer-and-debug.tar.gz

@progxaker well, that error is expected (turn off RDPECAM by default) so you need to enable it in your build ;)
-DCHANNEL_RDPECAM=ON -DCHANNEL_RDPECAM_CLIENT=ON helps there

Ah... The parameter names were changed, got it. Thanks)

Ah... The parameter names were changed, got it. Thanks)

these are the FreeRDP default channel variables generated for each channel since ages?

@oleg0421 true.
there is https://github.com/FreeRDP/FreeRDP/wiki/Compilation which might need an update.
and there is ccmake of course ;)

@progxaker: sorry you still have problem with Teams. I went through the logs you shared. Your camera reports these resolutions supported:
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 640, height: 480, fps: 30/1
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 176, height: 144, fps: 30/1
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 320, height: 240, fps: 30/1
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1024, height: 768, fps: 10/1
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1280, height: 720, fps: 8/1
[10:22:57:800] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1280, height: 1024, fps: 8/1
[10:22:57:801] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1600, height: 900, fps: 5/1
[10:22:57:801] [93069:00016bfe] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1600, height: 1200, fps: 5/1

It is consistent with v4l2-ctl output that you shared earlier.
Windows Camera app displays only resolutions that support 30 fps and higher. That is why you see 640x480, 176x144 and 320x240 only, including 144p resolution you've mentioned. Before my last fix, we've had 30 fps hard coded for every resolution, so Camera app was showing more resolutions, but it was incorrect.
MS Teams consistently requests 1280x720, even though your camera supports it at 8 fps. After we tell camera to start streaming at this resolution, we don't get back even a single frame from the camera. In my testing, Teams together with my camera and 1280x720 resolution work ok.
I suspect your camera or camera driver doesn't support 1280x720 resolution at 8 fps. If you know any other native Linux X11 application, that works with cameras and allows to select various resolutions, please try it to see if it can display video in 1280x720. Alternatively, you can try another computer / camera to see if it makes a difference with Teams.

Hello @oleg0421. Thank you for the explanation and workaround.

sorry you still have problem with Teams.

You don't have to :slightly_smiling_face: Open-source is about desire, not obligation.

If you know any other native Linux X11 application, that works with cameras and allows to select various resolutions, please try it to see if it can display video in 1280x720.

I can try it if you want, but it's a built-in camera so I highly doubt it supports 720p, haha)

Alternatively, you can try another computer / camera to see if it makes a difference with Teams.

I thought about testing with another camera. It's also low resolution, but connected via USB, and I was wondering how FreeRDP would handle it. But I wanted to solve the current problems before moving on to other topics.

You can also try to hack the code in camera_v4l.c, cam_v4l_get_media_type_descriptions() to filter out all resolutions with width >= 1280 to see how Teams will behave and whether it will satisfy your use case.

Thanks for the tip (and the additional update :) ). I added the following patch to the file and Teams was able to broadcast my image!
[09:37:20:140] [145820:000239ef] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 640, height: 480, fps: 30/1
[09:37:20:140] [145820:000239ef] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 176, height: 144, fps: 30/1
[09:37:20:140] [145820:000239ef] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 320, height: 240, fps: 30/1
[09:37:20:140] [145820:000239ef] [DEBUG][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_get_media_type_descriptions]: Camera format: YUYV, width: 1024, height: 768, fps: 10/1

[09:37:29:846] [145820:000239ef] [INFO][com.freerdp.channels.rdpecam-v4l.client] - [cam_v4l_stream_start]: Camera format: YUYV, width: 1024, height: 768, fps: 10/1

Details
diff --git a/channels/rdpecam/client/v4l/camera_v4l.c b/channels/rdpecam/client/v4l/camera_v4l.c
index ccb60d65b..aa18848c2 100644
--- a/channels/rdpecam/client/v4l/camera_v4l.c
+++ b/channels/rdpecam/client/v4l/camera_v4l.c
@@ -214,6 +214,9 @@ static INT16 cam_v4l_get_media_type_descriptions(ICamHal* hal, const char* devic
                {
                        struct v4l2_frmivalenum frmival = { 0 };

+                       if (frmsize.discrete.width >= 1280)
+                               break;
+
                        if (frmsize.type != V4L2_FRMSIZE_TYPE_DISCRETE)
                                break; /* don't support size types other than discrete */

P.S. If you want the TRACE logs of this run, I can post them.

Based on the above statements, I wonder if you want to add a parameter to set the resolution manually? Or dynamic selection based on the resulting list, or max fps?
I'm wondering if any application would want to use Camera format: YUYV, width: 1600, height: 1200, fps: 5/1.
It can also be useful when a user is worried about Internet bandwidth (it's not my case) and setting a network connection type (if it's not legacy).
    /network: [invalid|modem|broadband|broadband-low|broadband-high|wan|lan|auto]
                                      Network connection type

@progxaker better take your hands off /network parameter and leave at default (=auto) which does automatic bandwidth adjustments (and more often than not disables the stuff users actually want to have activated)

@progxaker : thanks for the confirmation. It is basically a bug in camera driver (should not enumerate resolutions that camera doesn't actually support). On our side we can filter out formats/resolutions based on the following parameters:
maxWidth
minWidth
maxHeight
minHeight
maxFrameRate
minFrameRate
Any of them may be specified as command line parameters for /dvc:rdpecam plugin and combined with AND logic. For example, if you have:
minHeight=480, maxHeight=480,
it will filter out all resolutions but 480p.
The change would have to process newly added CLI parameters and do the filter logic in camera_device_main.c, ecam_dev_send_media_type_list_response () function, to make it independent from platform layer.
If you feel like this is a useful improvement, please help to add this change.

@oleg0421 true.
there is https://github.com/FreeRDP/FreeRDP/wiki/Compilation which might need an update.
and there is ccmake of course ;)

@akallabeth: please let me know, how to edit the Compilation page. I just want to mention the feature and how to build and run with it, such as:

MS-RDPECAM camera redirect client support (experimental).
To build with it, use cmake option: -DCHANNEL_RDPECAM_CLIENT=ON
To run with it, use command line option: /dvc:rdpecam

Hello @oleg0421. Your suggestion sounds better than mine :)

If you feel like this is a useful improvement, please help to add this change.
What do you mean by "please help to add this change"? Prepare a pull request? Beta testing?

Hello @progxaker. I meant that you actually implement this resolutions filter, since it was your idea :) If you have time and feel comfortable doing it.

@oleg0421 okay, no problem) It will take some time to research how it can be implemented and I won't be able to start until July 8, but it will be interesting to delve into C again.
Thanks again for your contribution! :slightly_smiling_face:


Sign up button is too wide on phone breakpoint

Probably needs margin adjustment, or flex?

In firefox debug:
Flex content size = 26px (height, we're using flex col)
width is probably because this a block element?
Margin/padding are forced to 0 by default

Applying margin-inline: auto seems to fix it.  Looks OK for width on all breakpoints.


Blog Section Redesign

Issue Title: Blog Section Design Enhancement for Theming Consistency
Description:
Hi @AkshitLakhera,
I’d like to redesign the Blog section of Pencraft to better align with the website's overall theme. My goal is to create a visually cohesive and engaging layout that enhances user experience while keeping in line with the platform’s aesthetic and branding.
Please let me know if there are any specific guidelines or elements you’d like me to incorporate.

@dev129  start working assigning to you

https://github.com/user-attachments/assets/97d9b36f-788c-40fa-b6aa-68faf11f7720
Hi , I have added the search functionality in the blog section, along with parallax effect for images, proper icons , expandable read more link for long description, headings for quick sorting .  The design is responsive for all screen sizes.

Hi @AkshitLakhera , I have designed the blog section to a premium level, let me know your thoughts on this.

Hi @AkshitLakhera , what do you think about it

Hi @AkshitLakhera , what are your final thoughts on this ?

Hi @AkshitLakhera , are you still interested or not ?

Hi @AkshitLakhera , do you like the blog section design ?

@dev129 yes I am interested you can make pr.


Column position reported in CQL syntax error is not correct

It must be plus one.

This should be a breaking changes.


Gh actions coverage

Adding coverage to xis main

@mattdrayer hi Matt - can you review this PR please :) ty!


resource "aws_route53_record" "validation" error

I keep getting the below errors..The only way to stop the error is to update the Variables.tf file to not validate the certificate. Please help I am a bit of a newbie.
Error: Error in function call
on main.tf line 32, in resource "aws_route53_record" "validation":
32:   name    = element(local.validation_domains, count.index)["resource_record_name"]
|----------------
| count.index is 1
| local.validation_domains is empty tuple
Call to function "element" failed: cannot use element function with an empty
list.
Error: Error in function call
on main.tf line 32, in resource "aws_route53_record" "validation":
32:   name    = element(local.validation_domains, count.index)["resource_record_name"]
|----------------
| count.index is 0
| local.validation_domains is empty tuple
Call to function "element" failed: cannot use element function with an empty
list.

This was a user error


Feature request: Visualizing training poses along with 3DGS model

Hello devs, great work for developing great tool. It would be good to also have an option to upload training camera poses to Supersplat for analysis or debugging purpose. Then camera fly mode will take these cameras to create a trajectory or something similar.

Hi @hardikdava,
Which file format of camera poses would you like to import?
We already support cameras.json format, which is generated by the inria tools. See the CAMERA POSES panel on the right. There you can also add the current camera to the list.

We'll be adding support for more formats as users request though, so be sure to let me know which format you prefer.
Thanks!

@slimbuck Ideally, it would great to support for nerfstudio format. It is one of the common trainer that community use.

I actually have a branch with this code in the works already. I might take another look at it and try get this out in the next week.

@slimbuck A camera frame with frustum would be good for final visualization.


Object.assign is undefined error

When i used this plugin to build js and throw Object.assign is undefined error in plugin. How to solve this issue?
Old node version does't support Object.assign cause this issue. I suggest add a node version support in the doc maybe help users to solve this issue.

You've probably experienced exactly the same issue as I did. See #13 .


VS team scanning script integration

💡 Summary
VS team script integration into regular PE-report scripts
Motivation and context
Currently the script is executed by the VS team on their local machine for reporting purposes and the idea is to automate this process. The result of automation is a reduction in labor for an operator to execute the script, increase the value of our data set and consistent script execution.
Implementation notes

The current docker has the script that will be harvested and put in the COOL.
Build out a schema to house the data that is collected when running the script.
The output file to be delivered(emailed??)

Acceptance criteria
How do we know when this work is done?

[ ] Get script from docker
[ ] Make any necessary changes to the script to fit our standard
[ ] Create a new database schema to store the data that is gathered when script is executed.
[ ] Validate data gathered data
[ ] Insert data into PE database

The VS team seemed very much against us taking over control of the pshtt and other scripts, they recommended we branch their code and make any adjustments that we would need to run independently.

I have updated their pshtt script in our branch to work with the newest version of sslyze, and built out a new pshtt_results table in the database. I have also developed a wrapper script that multithreads through our subdomains and runs pshtt on each and saves them to our database.


Add 059 DoesNotConformToSelfTypeCantBeInstantiated

This PR adds an example for 059.
Error 059 occurs when the class doesn't conform the self type constraint, as tested in https://github.com/lampepfl/dotty/blob/2042a08a78071860d3283a2e92812e65bc7b4efb/tests/neg/selfInheritance.scala

Closing for now as I don't have time to delve into what's going on in the compiler internal at this moment, I'll re-open a PR when I have time :)


feat(db): expansion of the DBConfig class for collections

Description
Added a 'collections' field in DBConfig model so that the user can include in the config file collections configurations parameters. Some issues came up in register_mongodb.py regarding accessing certain fields in 'app.config'. The 'mongo.db' instance creation and attachment to 'config' has been commented out. Did not adjust the tests yet since the changes might be incorrect.
Fixes #52
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have not reduced the existing code coverage

Closed in favor of #58


DotNetCoreCLIV2: Add support for generating migration scripts

Environment

Server - Azure Pipelines

Issue Description
I’m having an ASP.NET Core application with EF Core with a “code first” database context. To be able to migrate databases with Azure pipelines migration scripts must be generated.
I know I could use the dotnet custom option with ef as a command and arguments like:
migrations script --idempotent --project $(Build.SourcesDirectory)\MySolution\MyProject\MyProject.csproj --output $(build.artifactstagingdirectory)\migrations\MyDatabaseContextMigrations.sql --context MyDatabaseContext

But it’s a bit tricky to figure out, at least if you are a newbie like me :-). I would like to see a specific command for this, I guess this is quite common.

This seems like a good task / extension that someone should write and release in the market place.  azure-pipelines-task-lib repo has details on how to create one.

I wrote this an extension myself :-) Here it is:
https://marketplace.visualstudio.com/items?itemName=pekspro.pekspro-efcore-migration-script-generator

Closing this issue, as the extension has been added to marketplace.


Deleting with sap_cloud_service name with * not working

Description
I have deployed the application using cf html5-push
then i try to delete using
cf html5-delete -d -n <sap_cloud_service_name>*

it is not getting deleted.
if i use the app_host_name instead of sap_cloud_service_name* then it is getting deleted and xsuaa is not getting deleted.
version 1.4.3
Environment
canary business application studio
CLI Output
user: projects $ cf html5-delete -d -n heliummd*
08:42:07.854971 Initializing command 'html5-delete'
08:42:07.855025 Configuration file does not exist. No cache to crear
08:42:07.855032 Executing command 'html5-delete': args: '[-d -n heliummd]'
08:42:07.855050 Deleting service instances by IDs: []
08:42:07.855056 Getting context (org/space/username)
08:42:07.856086 Resolving app-host-id by service instance name 'heliummd'
08:42:07.856104 Making request to: /v2/service_instances?q=name:heliummd&q=space_guid:895719b1-fdff-4828-9a5c-884f9544db16
FAILED
Could not get service instance by name: Service instance with name 'heliummd' not found

user: projects $ cf html5-delete -d -n heliummd-app-host-1591686826
08:45:04.329308 Initializing command 'html5-delete'
08:45:04.329383 Configuration file does not exist. No cache to crear
08:45:04.329394 Executing command 'html5-delete': args: '[-d -n heliummd-app-host-1591686826]'
08:45:04.329423 Deleting service instances by IDs: []
08:45:04.329433 Getting context (org/space/username)
08:45:04.330859 Resolving app-host-id by service instance name 'heliummd-app-host-1591686826'
08:45:04.330882 Making request to: /v2/service_instances?q=name:heliummd-app-host-1591686826&q=space_guid:895719b1-fdff-4828-9a5c-884f9544db16
08:45:04.739378 Resolved app-host-id is '07f938e1-67fc-4c34-914c-192d35b8d8b3'
Deleting service instances with IDs 07f938e1-67fc-4c34-914c-192d35b8d8b3 and associated destinations in org heliumdemosp / space helium as I307469...
08:45:04.739429 Getting destination service context
08:45:04.739438 Getting list of services
08:45:04.739904 Making request to: /v2/spaces/895719b1-fdff-4828-9a5c-884f9544db16/services
08:45:05.630952 Looking for 'destination' service
08:45:05.630970 Destination service found: &{Name:destination GUID:be381e3b-0d69-47bc-a044-63f69733acfe}
08:45:05.630992 Getting service plans for 'destination' service (GUID: be381e3b-0d69-47bc-a044-63f69733acfe)
08:45:05.631010 Making request to: /v2/service_plans?q=service_guid:be381e3b-0d69-47bc-a044-63f69733acfe
08:45:06.092344 Destination service 'lite' plan found: &{Name:lite GUID:821497d5-8d07-4748-bf78-48495eec823b}
08:45:06.092440 Getting service instances of 'destination' service 'lite' plan (&{Name:lite GUID:821497d5-8d07-4748-bf78-48495eec823b})
08:45:06.092452 Making request to: /v2/service_instances?q=service_plan_guid%20IN%20821497d5-8d07-4748-bf78-48495eec823b%3Bspace_guid:895719b1-fdff-4828-9a5c-884f9544db16
08:45:06.320341 Using service instance of 'destination' service 'lite' plan: {Name:heliumdemo-destination-service GUID:9fdb8dcb-92e8-4c69-86d3-7a6e7efa8853 UpdatedAt:2020-06-09T07:09:16Z LastOperation:{Type:create State:succeeded Description: UpdatedAt:2020-06-09T07:09:16Z CreatedAt:2020-06-09T07:09:16Z}}
08:45:06.320391 Creating service key for 'destination' service 'lite' plan
08:45:06.320400 Making request to: /v2/service_keys
08:45:07.937236 Getting token for service key html5-key-1591692306
08:45:07.937255 Making request to: https://heliumdemo.authentication.sap.hana.ondemand.com/oauth/token
08:45:08.210156 Access token for service key html5-key-1591692306: [HIDDEN PRIVATE DATA]
08:45:08.210188 Making request to: https://destination-configuration.cfapps.sap.hana.ondemand.com/destination-configuration/v1/subaccountDestinations/
08:45:08.285988 Deleting destination 'heliummd'
08:45:08.286012 Making request to: https://destination-configuration.cfapps.sap.hana.ondemand.com/destination-configuration/v1/subaccountDestinations/heliummd
08:45:08.319919 Adding sap.cloud.service 'helium.md' to the deletion list
08:45:08.319944 Deleting destination 'heliummd' with sap.cloud.service 'helium.md'
08:45:08.319954 Making request to: https://destination-configuration.cfapps.sap.hana.ondemand.com/destination-configuration/v1/subaccountDestinations/heliummd
08:45:08.340335 Deleting service key html5-key-1591692306
08:45:08.340358 Making request to (try 1/3): /v2/service_keys/1ec73273-f5e7-494b-b5ae-5ce37a09e177
08:45:08.782470 Getting list of service keys for app-host-id 07f938e1-67fc-4c34-914c-192d35b8d8b3
08:45:08.782494 Making request to: /v2/service_instances/07f938e1-67fc-4c34-914c-192d35b8d8b3/service_keys
08:45:08.910627 Deleting service instance 07f938e1-67fc-4c34-914c-192d35b8d8b3
08:45:08.910675 Making request to (try 1/3): /v2/service_instances/07f938e1-67fc-4c34-914c-192d35b8d8b3?recursive=true
OK

08:45:13.112229 Disposing command 'html5-delete'
user: projects $

@lalithmanokar , thanks for reporting an issue!
I analysed the log that you attached and it looks like the shell that you are using interprets the * as a special character and not passes it to CLI

08:42:07.855032 Executing command 'html5-delete': args: '[-d -n heliummd]'
08:42:07.855050 Deleting service instances by IDs: []
08:42:07.855056 Getting context (org/space/username)
08:42:07.856086 Resolving app-host-id by service instance name 'heliummd'

As you can see in the first log line above, there is no * after heliummd before ]. Therefore, CLI is looking for exact match of service instance name heliummd.
You should try to put the argument that contains * into quotes to avoid shell from interpreting it
cf html5-delete -d -n 'heliummd-*'

Depending on OS and shell different type of quotes may be required: either ' or "

hi this worked for the application is deployed via cf html5-push option.
but application deployed via mtar is still not happening.
Regards,
Lalith. S

@lalithmanokar , can you please paste the list of service names from cf s and the debug logs of the command, when you run it with DEBUG=1. What exactly is not deleted: service instance or destination? Or the command fails?


Identity e2e tests fail in multi tenant scenario

https://github.com/Azure/azure-sdk/issues/1346#issuecomment-1539586942

This was not a java specific failure. Dealing with it back in the main issue so the context is still there.


User is not defiened in UI (user can't logout), when automatically login to SS via Hub button (Open MH Console)

tested on several peers in HUB, my changes not implemented yet, need update I think


Missing code signature when invoking methods on compiler constants

VS Code version: 1.26.0
C# Extension version: 16 beta
When completing methods on compiler constants, like:
var x1 = 3.ToString("X");
var x2 = "foo".IndexOf('o');

VSCode never displays signature help. IndexOf/ToString() are displayed in auto complete list, but once typed, signature help is not shown when pressing ctrl+shift+space inside argument parens.
If 3 or "foo" are assigned to variables, everything works as expected.

PR with the fix is merged into omnisharp, issue can be closed.


Fix CI.

Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[ ] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[ ] Did you state the API impact?
[ ] Did you specify the code generation impact?
[ ] Did you request a desired merge strategy?
[ ] Did you add text to be included in the Release Notes for this change?

Type of Improvement

API Impact

Backend Code Generation Impact

Desired Merge Strategy

Release Notes

Reviewer Checklist (only modified by reviewer)

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

CI is crazy??? cache hit but not found?

/usr/bin/tar --use-compress-program zstd -d -xf /home/runner/work/_temp/e5d0f4b8-6b6b-4b84-be5f-3ad4f17bc00e/cache.tzst -P -C /home/runner/work/chisel3/chisel3

Seems I need to checkout first.

Not work

Run actions/cache@v2
with:
path: z3-z3-4.8.10
key: Linux-z3-4.8.10
Received 22 of 22 (100.0%), 0.0 MBs/sec
Cache Size: ~0 MB (22 B)
/usr/bin/tar --use-compress-program zstd -d -xf /home/runner/work/_temp/ef67345f-cdda-4b04-8dd3-019b482d98a9/cache.tzst -P -C /home/runner/work/chisel3/chisel3
Cache restored successfully
Cache restored from key: Linux-z3-4.8.10

WTF?

CI issue introduced in https://github.com/chipsalliance/chisel3/runs/3050952870

Hopefully this affects nobody's work :(
My bad.


DA-4357: exit datasource when ES throws error

Signed-off-by: Ibrahim<EMAIL_ADDRESS>

I don't think we need this, we have ctx.AllowFail flag that controls what happens when there are errors, so I think it's better to set that flag in the deployment, instead of changing how it works.
If we miss some required behavior - we can add more possible values to AllowFail and add code to support them.
See AllowFail possible options.
You can set AllowFail value in SDS deployment file (just add a new line like DA_GIT_ALLOW_FAIL: 1.

fixed in https://github.com/LF-Engineering/sync-data-sources/pull/115


Lab 6 - storage blob data owner not always set

Module: 3
Lab/Demo: 06
Task: 01
Step: 00
Description of issue
Half of my class did not have storage blob data owner rights on the data lake, causing the spark notebook to fail. I'm assuming there's an issue with async processes?
Repro steps:

roll out the environment for the 'Transform Data in a data lake with Spark' lab
Import the notebook
Try to run the notebook

I will follow-up. I didn't run into issue but have email with hosting vendor.
JH

I ran the course again last week. The issues weren't as widespread, but about 1 in 10 now had the issue of no rights on the data lake.

@douwevandenberg thank you for the update. It's in the queue and will follow-up if we find anything definitive on the issue. If it happens again, can you get screenshots and share them, they do provide some value and if through hosting provider for the lab, please have students open a ticket as these are currently in a maintenance period and only changes to the underlying architectures should break these labs. Thanks again! JH

Closing issue as we're unable to repeat this issue per my own and additional testing. Notes are to open ticket with lab hosting provider and provide screenshots if it persists. Thanks for input, keep it up! JH


Having trouble with SSL verification

Preface: I have a feeling that this isn't an issue with requests itself, but it did up come while I was using it, so I was hoping that you could offer some insight. This issue might even be the same one that hellt had in https://github.com/requests/requests/issues/3212 , but there are a few differences that made me uncertain whether that is actually the case. My apologies if it's a duplicate.
The error in question:
Traceback (most recent call last):
  File "ALT_post_api.py", line 177, in <module>
    main()
  File "ALT_post_api.py", line 96, in main
    response = requests.get(url, headers=headers, verify="/path/to/ssl/DigiCertCA.crt")
  File "/export/software/lib/python2.7/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/export/software/lib/python2.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/export/software/lib/python2.7/site-packages/requests/sessions.py", line 502, in request
    resp = self.send(prep, **send_kwargs)
  File "/export/software/lib/python2.7/site-packages/requests/sessions.py", line 612, in send
    r = adapter.send(request, **kwargs)
  File "/export/software/lib/python2.7/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

Looking at the Apache config, an SSLCertificateFile, an SSLCertificateKeyFile, and an SSLCertificateChainFile are specified. The above uses the SSLCertificateChainFile (DigiCertCA.crt) in the verify parameter, though both True and the SSLCertificateFile throw the same exact error. I tried appending those two files to a copy of the file given by certifi.where() (named cacert.pem) as seems to be suggested in the linked issue, but it also throws the same error.
Versions:
Python 2.7.12
>>> requests.__version__
'2.18.1'
>>> certifi.__version__
'2017.04.17'
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.1e-fips 11 Feb 2013'

This is the result of running openssl s_client -connect my_host:443 -showcerts -servername my_host, HOWEVER, I later ran openssl version and got OpenSSL 0.9.8za 5 Jun 2014; this isn't the version Python is using:
CONNECTED(00000003)
depth=0 /C=US/ST=[redacted; local area + host]
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /C=US/ST=[redacted; local area + host]
verify error:num=27:certificate not trusted
verify return:1
depth=0 /C=US/ST=[redacted; local area + host]
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/C=US/ST=[redacted; local area + host]
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
-----BEGIN CERTIFICATE-----
MIIFmzC[redacted]
-----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIGWDC[redacted]
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=[redacted; local area + host]
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3980 bytes and written 329 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES128-SHA
    Session-ID: 400E[etc]
    Session-ID-ctx:
    Master-Key: E536[etc.]
    Key-Arg   : None
    TLS session ticket:
    0000 - 48 39 0b 54 3d 88 e3 bf-69 71 ac ea 7e aa fe 9a   H9.T=...iq..~...
    [etc.]
    00d0 - b7 23 f5 ed a7 6c 9a 56-09 c2 ac 32 11 6e 5c c6   .#...l.V...2.n\.

    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---

But specifying -CAfile with the SSLCertificateFile, DigiCertCA.crt, or cacert.pem returns '0 (ok)':
depth=2 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
verify return:1
depth=1 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
verify return:1
depth=0 /C=US/ST=[redacted; local area + host]
verify return:1
---
Certificate chain
 0 s:/C=US/ST=[redacted; local area + host]
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
-----BEGIN CERTIFICATE-----
MIIFmzC[redacted]
-----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIGWDC[redacted]
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=[redacted; local area + host]
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3980 bytes and written 329 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES128-SHA
    Session-ID: 0EFE[etc.]
    Session-ID-ctx:
    Master-Key: 856A[etc.]
    Key-Arg   : None
    TLS session ticket:
    0000 - 48 39 0b 54 3d 88 e3 bf-69 71 ac ea 7e aa fe 9a   H9.T=...iq..~...
    [etc.]
    00d0 - 1e 0c ac a4 32 6d 57 6b-64 19 32 69 6b 62 a4 f3   ....2mWkd.2ikb..

    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

Now for the output of the OpenSSL version that Python is actually using:
CONNECTED(00000003)
depth=0 C = US, ST = [redacted; local area + host]
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 C = US, ST = [redacted; local area + host]
verify error:num=27:certificate not trusted
verify return:1
depth=0 C = US, ST = [redacted; local area + host]
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/C=US/ST=[redacted; local area + host]
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
-----BEGIN CERTIFICATE-----
MIIFmzC[redacted]
-----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIGWDC[redacted]
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=[redacted; local area + host]
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
---
No client certificate CA names sent
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 3980 bytes and written 492 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES128-SHA
    Session-ID: D4AD[redacted]
    Session-ID-ctx:
    Master-Key: 7732[redacted]
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket:
    0000 - 48 39 0b 54 3d 88 e3 bf-69 71 ac ea 7e aa fe 9a   H9.T=...iq..~...
    [etc.]
    00d0 - 3f ff 52 7a 03 a7 ee f3-7f d0 f0 ae f2 b3 46 a0   ?.Rz..........F.

    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)

(One difference I noticed was "Server Temp Key: DH, 1024 bits")
The reason I included the outputs of both versions of openssl is because the version Python is using always seems to return 21, even when -CAfile is specified.
I tried compiling Python with the other version of OpenSSL, but ran into issues, so I figured I should ask if that has a good chance of fixing my problem before continuing.
Expected Result
A GET request should be made and retrieve some data. This does work with verify=False.
Actual Result
Request seems to fail verifying the certificate.
System Information
$ python -m requests.help

{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "2.0.3"
  },
  "implementation": {
    "name": "CPython",
    "version": "2.7.12"
  },
  "platform": {
    "release": "2.6.32-642.11.1.el6.x86_64",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "1010006f",
    "version": "17.2.0"
  },
  "requests": {
    "version": "2.18.1"
  },
  "system_ssl": {
    "version": "1000105f"
  },
  "urllib3": {
    "version": "1.21.1"
  },
  "using_pyopenssl": true
}

So there are a number of issues here, but the core problem is that your server is not sending a TLS cert chain that makes any sense at all. From your OpenSSL output, the server is sending two certs:

[redacted; local area + host], issued by DigiCert SHA2 High Assurance Server CA
DigiCert High Assurance CA-3, issued by DigiCert High Assurance EV Root CA

The way the cert chain is supposed to work is that you send all the certificates needed to build the trust chain except for the root: that is, you send the leaf, the intermediate that issued the leaf, the intermediate that issued that intermediate, and so on, ending with the intermediate that was issued by the root.
Your cert chain does not do that. It sends only two certs, and the second appears to be totally unrelated to the first! It certainly didn't issue it. Either an intermediate is missing (that should go between the two certs your server sent), or you are sending a chain for a different certificate.
Either way, adding the missing intermediate to the trust store should fix the problem. As should fixing the server so it sends the right cert! 😉

Thank you!
(While not yet fixed, closing since I should be able to figure it out from here.)


Token Price Feed in wallets

This needs to be properly explained...

...just price (reference to EOS) and 24hr change?


InitialRate must be strictly larger than finalRate.

There's no point in having a rate-changing crowdsale if both match.

Agreed, that value will also be passed to Crowdsale, but won't be used.


Add versions of the helper methods that allow a user to specify React and ReactDOM

This is useful in contexts where it is important to be able to specify the version of React and ReactDOM which these helper methods use, rather than having them default to the project version.

Not needed at the moment.


contribution guidelines

Seems good to me, but let's review it in parking lot to get more eyes. I would also like to add a section about how we use chromatic for visual regression testing and the process around that.


[explorer] Standardizes the Group and NFT Views in Owned Objects

Standardizes the Group and NFT Views in Owned Objects and widens the boxes to reduce horizontal space
Before:

After:

@666lcz  / @stella3d --> The new UI is as follows:

@stella3d / @666lcz --> This PR is ready for its next review.
As well as incorporating the above feedback, after some CSS experimentation, we now have it such that the full ID fits on one line both in the Address Results:

... and Object Results:


Linker errors with Xcode 9

Here's a subset, but I got more than 200 errors:
"_nano_encode_repeated_string", referenced from:
      _firapb_set_string_filter_encoders in FirebaseAnalytics(firapb_string_filter_encoder_f42092f1ba2fa9d559b019faba84cc6a.o)
  "_nano_encode_repeated_uint64", referenced from:
      _firapb_set_result_data_encoders in FirebaseAnalytics(firapb_result_data_encoder_373a816d02f878f3857bb6d0ba8021a2.o)
  "_nano_encode_string", referenced from:
      _firapb_set_event_encoders in FirebaseAnalytics(firapb_event_encoder_0c153acc04fdbe51594c94848d0368b0.o)
      _firapb_set_event_config_encoders in FirebaseAnalytics(firapb_event_config_encoder_b76c27c645bff35f43c88abf3308a055.o)
      _firapb_set_event_filter_encoders in FirebaseAnalytics(firapb_event_filter_encoder_622d09830d24d1c5bf26be1b23f22eb3.o)
      _firapb_set_event_param_encoders in FirebaseAnalytics(firapb_event_param_encoder_fb98584a84d6fa363809bc8f957886cc.o)
      _firapb_set_filter_encoders in FirebaseAnalytics(firapb_filter_encoder_d28bfc4dffa3c4e05d93004539cd7c73.o)
      _firapb_set_measurement_bundle_encoders in FirebaseAnalytics(firapb_measurement_bundle_encoder_e7a36a02602e2fe11129d880f043b544.o)
      _firapb_set_measurement_config_encoders in FirebaseAnalytics(firapb_measurement_config_encoder_3181c28b3408a1f4c47b43a54bb352cc.o)
      ...

Anyone else getting that? Any workaround?

Reopening since I'm still getting this issues. Anyone find a workaround?

Same issue

I don't have these frameworks, so I don't think it's not related.

I tried with both cocoa pods and sdk. In both the cases i got this linker error

I finally track this down, three frameworks were missing from my project:

nanopb.framework
leveldb-library.framework
FirebaseNanoPB.framework

Hope that help. I still have a few errors, but doesn't seem related to the ones above.


What constitutes a "Omni" transaction

For feedback please, does a transaction with a Exodus/omni marker but a non-decodable payload constitute an Omni transaction?
By non-decodable payload I mean that the transaction type and/or version are not known so we don't know how to decode the payload and interpret_Transaction returns false, leading to a PKT_ERROR -2 from interpretPacket.
For background, I'm trying to decide on how to address an issue I'm looking into - basically that Omni Core now records all transactions that get through initial parsing in txlistdb regardless of payload decoding, so let's say a transaction has an Exodus output/omni marker but a non-decoable payload; this will be added to levelDB (valid:false).
Querying such a transaction then throws an error because the RPC code sees the transaction is in levelDB thus is an Omni transaction, but then fails to parse & decode it for the response.
omni_gettransaction cf0edfdd0a9e4d8aea2f87fc2cec6a367e1686a1fe066390ac195a797d76c0f1
Potential database corruption: Invalid transaction found (code -32603)

This is somewhat addressed in @dexX7's recent work for unconfirmed transactions, because the levelDB check is now skipped and thus when parsing & decoding fails the error thrown is:
Not a Master Protocol transaction

However having these non-decodable payloads added to levelDB as Omni transactions presents other side effects, such as omni_listblocktransactions which uses levelDB to look up all Omni transactions for a block.  It's not ideal behaviour to run omni_listblocktransactions, get back a hash in the result showing there was a Omni transaction in the block, then query said hash & get a response that it's not a Omni transaction.
I hope this is making sense :)
TL:DR; are transactions with non-decodable payloads "Omni transactions" for the purposes of Omni Core.  If no, we should not add transactions with non-decodable payloads to levelDB.  If yes, querying the transaction should respond with some sort of base Omni tx object with unknown type/unknown version or similar rather than saying it's not an Omni transaction.
Any thoughts?

basically that Omni Core now records all transactions that get through initial parsing

Is this new behavior?

It's not ideal behaviour to run omni_listblocktransactions, get back a hash in the result showing there was a Omni transaction in the block, then query said hash & get a response that it's not a Omni transaction.

In my opinion we should never ever provide the user with invalid transactions. I mentioned this also some time ago, when a similar question came up in the context of "list the number of transactions/trades" and whether it also count invalid transactions. I simply don't see any reason why.
In this particular case we have to differentiate though: Exodus purchases and DEx payments are Omni transactions, but we currently don't persist Exodus purchases, and use another processing path for DEx payments (i.e. no parse -> interpret, but instead DB lookups).
Short term: do we have to persist invalid transactions at all? If not, then let's get rid of them.
Longer term: classify and persist no-payload-Omni transactions properly. This is more tricky, because they don't really fit into the current model. I like the idea of having some wildcard entry ("unknown Omni transaction"), but it should not be used for invalid transactions imho.

Is this new behavior?

<IP_ADDRESS>:

In my opinion we should never ever provide the user with invalid transactions.

What exactly do you mean with invalid transactions? This is where it gets difficult, because language plays a big part hehe - do you mean:

Invalid Omni transaction = bitcoin tx parsed as Omni with a decodable and understandable payload, but action rejected by state (eg invalid funds)
Invalid Omni transaction = bitcoin tx parsed as Omni with a non-decodable payload

Because I think we should always tell users about invalid transactions of the first kind.  I kind of agree we shouldn't provide users with invalid transactions of the second kind.

Short term: do we have to persist invalid transactions at all? If not, then let's get rid of them.

I'll do some further testing, but my gut feeling is we should be able to simply stop adding transactions with unknown type/versions to levelDB - it's a specific error code we get back for this scenario.  The point about Exodus & DEx is interesting, but I don't think it's an issue because by the time we're in packet interpretation we're already past Exodus/DEx processing.

What exactly do you mean with invalid transactions?

Ah, interesting, now I see where you're going.
So we basically have:

valid Omni transactions with payload, like simple sends
valid Omni transactions without payload, which we handle well, like DEx payments
valid Omni transactions without payload, which we don't handle well, like Exodus purchases
invalid Omni transactions, which are structually valid, but rejected, say due to insufficient funds
invalid Omni transactions, which are structurally invalid, like unknown transaction types, or transactions with only a marker, but nothing else
plain Bitcoin transactions

I need to refine my initial statement of "getting rid of any invalid transaction", because you indirectly pointed out something important, which I previously overlooked: there is a chance that users create transactions, which turn out to be invalid, whether that is, because they logged into another machine and resent some transactions, or due to our fault, because we didn't fully ensure a transaction (say via RPC) is also valid after confirmation, and there are probably more cases. This is relevant for the user, and should be visible.
Only slightly related, but I was a bit surprised: yesterday I went through the code and mentally tagged what parts are necessary for plain verification, to end up with the final state. The transaction, trade and STO DBs are not needed, and they only serve the RPC and UI layer.
This also means that we should probably primarily look at how we transfer and persist the data from the base layer, and make it available to the higher levels.
Maybe it helps (me to understand), if you could quickly clarify and outline the issue you currently see. It's not really clear to me how the following fits into the context exactly:

... my gut feeling is we should be able to simply stop adding transactions with unknown type/versions to levelDB [why do we care about those in particular?]. The point about Exodus & DEx is interesting, but I don't think it's an issue because by the time we're in packet interpretation we're already past Exodus/DEx processing [so?].

Regarding the RPC queries:
We could also not throw a JSON error, which indicates that it's not an Omni transaction. It would then show the base fields like "txid", "valid":"false", ...

Only slightly related, but I was a bit surprised: yesterday I went through the code and mentally tagged what parts are necessary for plain verification, to end up with the final state. The transaction, trade and STO DBs are not needed, and they only serve the RPC and UI layer.

Exactly - to be more specific they're only required to provide access to history.  If now (the current/final state) is all that is desired for a particular use-case and history can be discarded, then yep no DBs are needed at all.

if you could quickly clarify and outline the issue you currently see.

The problem as I see it is that the following specific transaction scenario is currently added to levelDB.

invalid Omni transactions, which are structurally invalid, like unknown transaction types, or transactions with only a marker, but nothing else

Which is in conflict with some other areas of the code, which assume that if a transaction is in levelDB that it is a structurally valid (but not necessary state-valid) transaction.
I hope that's clear, but just shout if I'm still unclear :)
Quickly summarized, I think we should stop adding structurally invalid transactions to levelDB.
If payload decoding (interpretTransaction) fails PKT_ERROR - 2 is returned, so a small patch like the following would do the job:
diff --git a/src/omnicore/omnicore.cpp b/src/omnicore/omnicore.cpp
index 62d21bd..2118532 100644
--- a/src/omnicore/omnicore.cpp
+++ b/src/omnicore/omnicore.cpp
@@ -2766,10 +2766,12 @@ bool mastercore_handler_tx(const CTransaction& tx, int nBlock, unsigned int idx,
         int interp_ret = mp_obj.interpretPacket();
         if (interp_ret) PrintToLog("!!! interpretPacket() returned %d !!!\n", interp_ret);

-        // only valid transactions get recorded
-        bool bValid = (0 <= interp_ret);
-        p_txlistdb->recordTX(tx.GetHash(), bValid, nBlock, mp_obj.getType(), mp_obj.getNewAmount());
-
+        // Only structurally valid transactions get recorded in levelDB
+        // PKT_ERROR - 2 = interpret_Transaction failed, structurally invalid payload
+        if (interp_ret != PKT_ERROR - 2) {
+            bool bValid = (0 <= interp_ret);
+            p_txlistdb->recordTX(tx.GetHash(), bValid, nBlock, mp_obj.getType(), mp_obj.getNewAmount());
+        }
         fFoundTx |= (interp_ret == 0);
     }

That change still passes all checkpoints, and seems to resolve the problem.  For example block 259439:

contains zero structurally valid Omni transactions
contains one structurally-invalid Omni transaction cf0edfdd0a9e4d8...

Before patch:
omni_listblocktransactions 259439
[
"cf0edfdd0a9e4d8aea2f87fc2cec6a367e1686a1fe066390ac195a797d76c0f1"
]

After patch:
omni_listblocktransactions 259439
[
]

Relevant PR https://github.com/OmniLayer/omnicore/pull/184

Agreed, this is a pretty nice route. Does this resolve this issue?
Should we begin at some point to use a finer differentiation, when persisting data, and use more than one state (valid/invalid)?

Since the initial issue was addressed, I'm going to close this, but feel free to reopen, if needed.


generate redirect file, populate, and delete redirected files

Docs Build status updates of commit a4bd048:
:warning: Validation status: warnings

File
Status
Preview URL
Details

:warning:Warning

Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

Skype/SDN/articles/index.md
:white_check_mark:Succeeded

Skype/TOC-OLD.md
:white_check_mark:Succeeded

Skype/UCMA/index.md
:white_check_mark:Succeeded

Skype/WebSDK/APIProductKeys.md
:white_check_mark:Succeeded

Skype/WebSDK/AddParticipants.md
:white_check_mark:Succeeded

Skype/WebSDK/AddRemoveConversationAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/AddRemoveConversationVideo.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonJoinOnLine.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonJoinOnPrem.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonymousMeetingJoin.md
:white_check_mark:Succeeded

Skype/WebSDK/Architecture.md
:white_check_mark:Succeeded

Skype/WebSDK/ConversationControl.md
:white_check_mark:Succeeded

Skype/WebSDK/Conversations.md
:white_check_mark:Succeeded

Skype/WebSDK/CoreCapabilities.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopApplications.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopForSkypeforBusiness.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopWebSDKappsForSfBOnline.md
:white_check_mark:Succeeded

Skype/WebSDK/Devices.md
:white_check_mark:Succeeded

Skype/WebSDK/DownloadRunSamples.md
:white_check_mark:Succeeded

Skype/WebSDK/GeneralReference.md
:white_check_mark:Succeeded

Skype/WebSDK/GetAPIEntrySignIn.md
:white_check_mark:Succeeded

Skype/WebSDK/GettingStarted.md
:white_check_mark:Succeeded

Skype/WebSDK/Groups.md
:white_check_mark:Succeeded

Skype/WebSDK/JoinMeeting.md
:white_check_mark:Succeeded

Skype/WebSDK/JoinVideoMeetingDisplayVideo.md
:white_check_mark:Succeeded

Skype/WebSDK/ListenForAvailability.md
:white_check_mark:Succeeded

Skype/WebSDK/LocalUser.md
:white_check_mark:Succeeded

Skype/WebSDK/ManageDevices.md
:white_check_mark:Succeeded

Skype/WebSDK/ManagePersonsAndGroups.md
:white_check_mark:Succeeded

Skype/WebSDK/ObjectModel.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioCallTransfer.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioGroup.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioHoldResume.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioIncoming.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioMute.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioOutgoing.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioP2PEscalation.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioPhoneAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuth.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthAzureAD.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthPassword.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthSignOut.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthWebTicket.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthWindowsAuth.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChat.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChatGroup.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChatIncomingP2P.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

Line 0, Column 0: [Warning: missing-attribute] Missing required attribute: '(source_path or source_path_from_root) or redirect_url'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1ba442c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

Skype/SDN/articles/index.md
:white_check_mark:Succeeded

Skype/TOC-OLD.md
:white_check_mark:Succeeded

Skype/UCMA/index.md
:white_check_mark:Succeeded

Skype/WebSDK/APIProductKeys.md
:white_check_mark:Succeeded

Skype/WebSDK/AddParticipants.md
:white_check_mark:Succeeded

Skype/WebSDK/AddRemoveConversationAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/AddRemoveConversationVideo.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonJoinOnLine.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonJoinOnPrem.md
:white_check_mark:Succeeded

Skype/WebSDK/AnonymousMeetingJoin.md
:white_check_mark:Succeeded

Skype/WebSDK/Architecture.md
:white_check_mark:Succeeded

Skype/WebSDK/ConversationControl.md
:white_check_mark:Succeeded

Skype/WebSDK/Conversations.md
:white_check_mark:Succeeded

Skype/WebSDK/CoreCapabilities.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopApplications.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopForSkypeforBusiness.md
:white_check_mark:Succeeded

Skype/WebSDK/DevelopWebSDKappsForSfBOnline.md
:white_check_mark:Succeeded

Skype/WebSDK/Devices.md
:white_check_mark:Succeeded

Skype/WebSDK/DownloadRunSamples.md
:white_check_mark:Succeeded

Skype/WebSDK/GeneralReference.md
:white_check_mark:Succeeded

Skype/WebSDK/GetAPIEntrySignIn.md
:white_check_mark:Succeeded

Skype/WebSDK/GettingStarted.md
:white_check_mark:Succeeded

Skype/WebSDK/Groups.md
:white_check_mark:Succeeded

Skype/WebSDK/JoinMeeting.md
:white_check_mark:Succeeded

Skype/WebSDK/JoinVideoMeetingDisplayVideo.md
:white_check_mark:Succeeded

Skype/WebSDK/ListenForAvailability.md
:white_check_mark:Succeeded

Skype/WebSDK/LocalUser.md
:white_check_mark:Succeeded

Skype/WebSDK/ManageDevices.md
:white_check_mark:Succeeded

Skype/WebSDK/ManagePersonsAndGroups.md
:white_check_mark:Succeeded

Skype/WebSDK/ObjectModel.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioCallTransfer.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioGroup.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioHoldResume.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioIncoming.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioMute.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioOutgoing.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioP2PEscalation.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAudioPhoneAudio.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuth.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthAzureAD.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthPassword.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthSignOut.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthWebTicket.md
:white_check_mark:Succeeded

Skype/WebSDK/PTAuthWindowsAuth.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChat.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChatGroup.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChatIncomingP2P.md
:white_check_mark:Succeeded

Skype/WebSDK/PTChatOutgoingP2P.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@lindalu-MSFT
This PR generates a main redirect file for this repo according to the Contributor Guide instructions on How to redirect obsolete articles. The process automatically deletes the currently redirected articles in this repo as it adds each redirect.
This is part of a process to resolve validation issues in this repo. Adding this file and deleting the obsolete articles will resolve almost 100 'attribute-reserved' issues. I also suspect that the current redirect method isn't working (it's no longer supported and a spot check of a few of them resulted in a 404). Let me know if you have any questions!


Italian TN Fixes for #166

What does this PR do ?
Addresses Issue #166 for the Italian TN Graph.
 Use git commit -s to sign.
[x] Do all unittests finish successfully before sending PR?

pytest or (if your machine does not have GPU) pytest --cpu from the root folder (given you marked your test cases accordingly @pytest.mark.run_only_on('CPU')).
Sparrowhawk tests bash tools/text_processing_deployment/export_grammars.sh --MODE=test ...

[x] If you are adding a new feature: Have you added test cases for both pytest and Sparrowhawk here.
[x] Have you added __init__.py for every folder and subfolder, including data folder which has .TSV files?
[x] Have you followed codeQL results and removed unused variables and imports (report is at the bottom of the PR in github review box) ?
[x] Have you added the correct license header Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. to all newly added Python files?
[x] If you copied nemo_text_processing/text_normalization/en/graph_utils.py your header's second line should be Copyright 2015 and onwards Google, Inc.. See an example here.
[x] Remove import guards (try import: ... except: ...) if not already done.
[x] If you added a new language or a new feature please update the NeMo documentation (lives in different repo).
[x] Have you added your language support to tools/text_processing_deployment/pynini_export.py.

PR Type:

[ ] New Feature
[x] Bugfix
[ ] Documentation
[ ] Test

If you haven't finished some of the above items you can still open "Draft" PR.

Locally passes both Sparrowhawk and pyTests.

An updated PR has been raised.  This is stale and can be removed.


CI / add python 3.6

subj

Coverage remained the same at 9.917% when pulling c8fd6b5eb17f221f21f909ad741ee166dd74403a on feature/tox-py36 into 0bf5d1d83c6c2ba03ac622d23768750037c231fa on master.


Add python example and doc for buildReducedModel

Related to #1232 .
@jcarpent @olivier-stasse This is for you.

@jcarpent thanks for your notes, they should be solved now.


Language support

Hello,
On the landing page it is mentioned that currently English language is supported, while on this documentation page that "input must use Latin characters", from which I understand that more languages than English can be used. Why is that? Thanks.

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

ID: 400d903c-36d4-e20b-d2fc-b80b53b00ceb
Version Independent ID: 210dbaf5-eda5-f50e-8d8e-18b86daff035
Content: What is Form Recognizer? - Azure Cognitive Services
Content Source: articles/cognitive-services/form-recognizer/overview.md
Service: cognitive-services
Sub-service: forms-recognizer
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@iTzanetos we will review your feedback and get back to you shortly. Thanks.

@iTzanetos the document specifies that "Text must use the Latin alphabet (i.e English characters)" which is the alphabet used to write the English language. It doesn't mean that more languages than English can be used. Hope this helps. Thanks.

Hi thanks for the quick response, to be sure I understood correct - does that mean that I can use only English forms? thanks.

@iTzanetos yes it means you must use forms containing only English characters. Thanks.


Backport pt. 1

As discussed in #47. This PR is intended to be minimal-to-no structural and functional changes, focusing just on compat drop-ins, API annotations, and beginning some work in gating off transitions that won't run on pre-lollipop.
This commit:

Drops in compat* versions wherever possible, while including some local compat implementations as well.
Target annotations on areas that will only be Lollipop+ (for future reference, no functional changes yet)
Using appcompat theming where possible rather than material

Future work would focus around fully supporting conditional transitions and vector drawable interactions, taking advantage of android's resource directory versioning for API-dependent resources, and backporting some functionality with new logic (such as circular imageviews).
I know it's a lot, but after spending a lot of time this week trying to pull things apart in a modular way, it just seemed too much to keep track of. I would've started hitting rebase hell and risking unbuildable commits due to missed imports here or there. One approach might be to break it down into smaller components (per-package maybe?). Another idea would be to PR into another branch so that you could introduce the changes slowly. Let me know what you thinkm and sorry again for the large pull diff :/.
Testing-wise, I've been pretty thorough in testing it to make sure things look and behave the same way. I haven't been able to test designer news or product hunt though. DN's API website seems to be down, and PH requires my emailing them first and asking for permission.

I signed it!

Thanks for all of this work @hzsweers! As discussed elsewhere, please can you resubmit this to the backport branch i've just created. I think that it makes sense to work in a separate branch for this large a change until it has settled down.
Thanks!

Will do! I'll close this for now and then re-open to that branch after rebasing next week some time.