Unable to connect to oauth/gitlab/login

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: https://docs.mattermost.com/install/troubleshooting.html.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary

My server implements gitlab authentication. When connecting from a web browser everything works as expected. However, on the Desktop app, if I click on the gitlab link on the authentication page, the app does not redirect to the gitlab website. I tried downgrading to the previous version (Version 5.1.1 (<IP_ADDRESS>01)) and this issue is not there.
Environment

Operating System: MacOS 13.0
Mattermost Desktop App version: 5.2.1
Mattermost Server version: 7.5.1 (same problem was there with 7.3.0)

Steps to reproduce
Set up gitlab authentication (tried with gitlab being the only method of auth).
Logout from mattermost.
Try to login
Expected behavior
I'm redirected to gitlab for authentication.
Observed behavior
Nothing happens when I click on the gitlab button (the button outline becomes blue, but I'm not redirected to gitlab)
Possible fixes

Alright, I fixed the issue, but not really sure how.
The log you requested is actually under this folder in my system:
/Users/<username>/Library/Containers/Mattermost.Desktop/Data/Library/Logs/Mattermost
From this log I saw these messages when I click on the gitlab link:
[2022-11-23 13:59:07.560] [debug] webContentEvents.did-start-navigation {
  webContentsId: 5,
  url: 'https://<server_uri>/oauth/gitlab/login'
}
[2022-11-23 13:59:07.560] [debug] webContentEvents.will-navigate {
  webContentsId: 5,
  url: 'https://<server_uri>/oauth/gitlab/login'
}
[2022-11-23 13:59:07.560] [info]  Prevented desktop from navigating to: https://<server_uri>/oauth/gitlab/login

I then found issue #2069 based on that log. The Site URL is configured as "http://<server_uri>", a proxy takes care of the TLS connection. I then changed everything to be "https://<server_uri>" both the Site URL and the gitlab application configuration for the redirection. With this configuration I get a "Bad token" as a reply from gitlab (no one can login).
I then changed everything back to the old configuration (Site URL = 'http://<server_uri>', Gitalb redirect = 'http://<server_uri>/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/complete'), restarted the mattermost server, and now everything works.
So essentially: I changed to another configuration -> Gitlab auth did not work, but I could click on the link
I changed back to the original configuration -> everything works
I'm very confused as to why this is working, but I'm glad it is

We also experience this 'bug' - a redirect is the expected behavior because it is a login with an external login provider (gitlab) which of course has another URL than the mattermost server.
Looking at the linked code there is a value that is checked aigainst 'isCustomLoginURL'. Is this a new config value for Mattermost that needs to be configured now?

Not directly but we updated Gitlab & Mattermost server (Omnibus I think?)
I talked to our server admins about this redirect blocking and 'isCustomLoginURL' - they will try out sth. if it can fix the issue today. For now we use the browser version if the client has no cached login...

I tried again today to login and logout.
I can't click the button anymore.
The  server configuration did not change since yesterday.
I think I was only able to login because something was cached on the desktop app while I made the configuration change on the server side.

Also, not sure if it helps, but I see this difference on the logs:
With Desktop app version 5.2.1 (where the I get the Prevented desktop from navigating to ...):
[2022-11-24 13:53:06.513] [debug] ServerInfo.trySendRemoteInfo <server_name> {
  name: '<server_name>',
  serverVersion: '7.5.1',
  siteURL: 'http://<server_url>',
  hasFocalboard: true,
  hasPlaybooks: true
}

With Desktop app version 5.1.1 (where the login works):
[2022-11-24 13:57:03.380] [debug] ServerInfo.trySendRemoteInfo <server_name> {
  name: '<server_name>',
  hasFocalboard: true,
  hasPlaybooks: true,
  serverVersion: '7.5.1'
}

Please try a server restart if possible and let me know if that fixed it. I'll share your comment with our SRE team to check if it's related to gitlab/omnibus changes

Our server Team fixed it, as far as I understand they had to up the internal communication between mattermost and gitlab (same server) to https and use different ports for MM and gitlab now.

I set up a dev environment for the desktop app and figured out what is going on.
It seems that PR #2152 forces the SiteURL to be the one specified by the server instance. In my case, the server is behind a proxy, so it is configured as http://. However, the users are always redirected to the https:// URL.
This is a problem because since version 5.2.1 users setting for SiteURL are discarded in favor of the server value (including the protocol part). Now because the URLs have a different protocol, this line returns undefined and so all the subsequent checks are skipped, preventing the GitLab link to be opened.
It would be nice to allow users to specify at least a more secure protocol version than what the server indicates. I can open a PR with this change if you want. Seems that just changing this function to select the most secure protocol is enough.

I set up a dev environment for the desktop app and figured out what is going on.
It seems that PR #2152 forces the SiteURL to be the one specified by the server instance. In my case, the server is behind a proxy, so it is configured as http://. However, the users are always redirected to the https:// URL.
This is a problem because since version 5.2.1 the users' setting for SiteURL are discarded in favor of the server value (including the protocol part). Now because the URLs have a different protocol, this line returns undefined and so all the subsequent checks are skipped, preventing the GitLab link to be opened.
It would be nice to allow users to specify at least a more secure protocol version than what the server indicates. I can open a PR with this change if you want. Seems that just changing this function to select the most secure protocol is enough.

@dn0sar Is the server you're using always accessed via the proxy? If so, it might make more sense to just change the server's Site URL to https://, since that is a more secure protocol and should be the correct one.
Using a different Site URL than what is specified by the server causes a few other unexpected issues (eg. some plugins depend on it to generate links).

Subscribed to issue. Have almost same problem with Gitlab auth, nothing happens while clicking on button.

Same issue, thank you for looking at this :)

Hey all,
I want to apologize for the lack of communication on these tickets regarding authentication. But I come with some good news: we've been working on separating the external login flow from the Desktop App, deferring to the browser like many other applications do. This should overall improve security and stability around the login process, as the current implementation requires a few hacks to make it work correctly.
As of today, we released Mattermost v9.1 which has this feature implemented, and should work with all existing Desktop App versions going back to at least v5.4.0. Going forward we will be supporting this login flow for all external providers using the Desktop App, and this should fix any issues around login flow. Your server will need to be upgraded to take advantage of this feature.
I'll be closing these tickets for now as fixed, but feel free to comment and ask questions if you have any. Thanks for your patience :)

I have this exact problem with version 5.7.0, is it really fixed? I'm using cloudflare tunnel where I need to enter the email before accessing the MM server with the desktop app. In the browser it works fine, but in the app on Mac, I have the exact same behavior as in this issue. The error in the log is the same to:
[2024-04-03 16:27:59.299] [info]  [WebContentsEventM...] [Lab] [TAB_MESSAGING] Prevented desktop from navigating to: https://SERVER_URI.cloudflareaccess.com/cdn-cgi/access/verify-code/SERVER_URI?kid=d3dc6edf24..long line of jibberish


Keeps sayings couldn't find steamvr despite all fixes

Keeps asking if installed and ran despite me having it done both. I have the Oculus app installed to my E: drive and same with steam if that effects anything

Sorry v1.1.0 didn't work, please try out this experimental release and tell me if it fixes your issue: v1.2.0

It seems to be fixed! It instantly booted up SteamVR with no problems at all. Unsure if this has to do with me also doing all the troubleshooting before hand but either way it worked for me now!


How to compile qgrep on Linux Ubuntu / macOS ?

Hi @zeux
Would you mind expanding the doc explaining how to compile qgrep?
Many thanks

It's just make; the repository uses submodules so it needs to be cloned with --recursive. Binaries are also available in https://github.com/zeux/qgrep/releases/tag/v1.4. I'll add this to the doc.

Thanks a lot @zeux


More meaningful error message when catalog consistency fails

Today, the when the catalog consistency fails one gets this error message.
Comparing generated and old catalog...
***** Directories has differences ******
{'file': '/home/runner/work/unitxt/unitxt/src/unitxt/catalog/metrics/string_containment', 'diff': 'old only'}
  File "/home/runner/work/unitxt/unitxt/utils/prepare_all_artifacts.py", line 165, in <module>
    main()
  File "/home/runner/work/unitxt/unitxt/utils/prepare_all_artifacts.py", line 160, in main
    raise RuntimeError("Directories has differences")
RuntimeError: Directories has differences

It should return a more meaningful error such as.
Catalog consistency check failed.  The catalog json files were regenerated from the prepare/*/*.py files.

* Some json files (or complete directories) which were committed in the past were not regenerated:

 home/runner/work/unitxt/unitxt/src/unitxt/catalog/metrics/string_containment

This can happen when renaming to catalog names of artifacts in  prepare/*/*.py files , but not deleting the old files.

* Some files which were generated were not committed.

 home/runner/work/unitxt/unitxt/src/unitxt/catalog/metrics/new_string_containment.json

 This can happen when not committing json files together with prepare/*/*.py.

 To fix recreate and fix this in your local environment:

 rm -fr  src/unitxt/catalog
 python utils/prepare_all_artifacts.py

This will cause all artifacts to be regenerated and you can use git status to see the changes and then commit them.

Resolved with PR #1201


kernel: Allow to use k_sem_take() without MULTITHREADING

There is no thread queue if CONFIG_MULTITHREADING=n is set.
With the current implementation, _impl_k_sem_take() calls _pend_current_thread() that moves the current thread in the waiting queue.
But when there is no MULTITHREADING support, there is only one thread.
This change implements _impl_k_sem_take() as a busy loop when no MULTITHREADING support.
It means the semaphore would have to be released in the ISR to exit the loop.
This issue has been triggered while porting MCUBoot (no multithreading support) to my platform. Some drivers needed during the boot process were using semaphore.
Signed-off-by: Olivier Martin<EMAIL_ADDRESS>

@Olivier-ProGlove which driver is mcuboot using that causes the issue?

Codecov Report

Merging #8368 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8368   +/-   ##
=======================================
  Coverage   64.61%   64.61%
=======================================
  Files         422      422
  Lines       40284    40284
  Branches     6800     6800
=======================================
  Hits        26030    26030
  Misses      11121    11121
  Partials     3133     3133

Impacted Files
Coverage Δ

kernel/sem.c
91.66% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@andyross As you might know MCUBoot bootloader has been ported to Zephyr. And Zephyr drivers can be used by the bootloader without any changes which is really great! But MCUBoot does not support multi-threading.
When I ported MCUBoot to our platform, the bootloader was failing to start. After investigating the issue I discovered it was due to a semaphore used by one of our drivers.
At that time, I have not thought if the semaphore was relevant or not in our driver. But I was thinking semaphores could be used at other places in the code path and I did not want to redesign all our drivers. That the reason of my patch.
If we do not want to enable semaphore in a multithreaded environment then we should protect the semaphore API  with:
#if !CONFIG_MULTITHREADING
(...)
#endif /* CONFIG_MULTITHREADING */

@mike-scott sorry I do not remember which drivers was it but I can check if you want even if I think it is one of our internal drivers.

@mike-scott Most of the flash drivers use semaphores. In our case it was the winbound driver (w25qxxdv) but if you do a grep for k_sem you can see that qmsi, sam0, nrf, stm32, mcux, nios2_qspi also use semaphores for syncing.
@carlescufi This is the patch we talked about on IRC
@andyross flash drivers are essential for bootloaders, so I think we either have to live with semaphores in the minimal core or the drivers have to be changed accordingly.

@JoeHut if there are no ram/rom constraints, you should be able to build mcuboot with multithreading, single thread was added just to minimise footprint. my concern is that  this might not end with semaphores and other object will be pulled in to support other drivers, so single thread and the need for it becomes useless.

But semaphores don't actually work with CONFIG_MULTHREADING=n!   They work only if the count never goes to zero, or if the count is only ever incremented from an ISR.   And that's not a semaphore as understood by code written to a semaphore API.   Nor is it very useful, compared to simple spin waiting.
I mean, the only value that MULTITHREADING=n has is size.  And this is adding functionality to the image just to get something that you can't really get reliably just seems like the wrong tactic.   Stated alternatively: if your flash drivers were written to assume OS synchronization primitives and threading, you probably need to be running them under an OS kernel.
The docs specifically tell you "Kernel objects will most  probably not behave as expected, especially with regards to pending".  I think this is a great example for why.  Can you dig more carefully through your drivers, I think that's where you want to do the port to CONFIG_MULTITHREADING=n.  They need to know they can't use a real semaphore.
(Finally: dollars to donuts says that all those semaphore calls in your drivers are doing is locking anyway, which you can just remove, right?)

@JoeHut if there are no ram/rom constraints, you should be able to build mcuboot with multithreading, single thread was added just to minimise footprint.

IMO it also has security advantages: less code == smaller attack surface.

(Finally: dollars to donuts says that all those semaphore calls in your drivers are doing is locking anyway, which you can just remove, right?)

Wouldn't that require different versions of the same drivers for use in MCUboot and within a multithreaded Zephyr application?

Wouldn't that require different versions of the same drivers for use in MCUboot and within a multithreaded Zephyr application?

#ifdef CONFIG_MULTITHREADING
        k_sem_take(&my_lock);
#endif

@andyross I get your point. The patch was a fix for us but I understand that it is not the proper way to go. Fine for me.
But this means that MCUBoot for Zephyr is broken, since it uses the flash API and all implementations in the Zephyr kernel use semaphores which might not behave as expected in the default settings.
If I get it right the alternatives are:

Enable multithreading for MCUBoot by default
Patch the flash drivers to work without multithreading and ensure that this will also be true in the future
Apply this patch (which I understand is not preferable)

#ifdef CONFIG_MULTITHREADING
k_sem_take(&my_lock);
#endif

Is there a solution where semaphores degrade gracefully in the absence of multithreading, so MCUboot users don't have to audit all of their Zephyr drivers now and forever for this sort of thing?

#ifdef CONFIG_MULTITHREADING
        k_sem_take(&my_lock);
#endif

Would this work?
Seems like here we are using the semaphores to synchronize between the (single) thread running on the system, and interrupts. If we just ifdef these calls out does it still work properly?
Maybe we really should make sempahores work in a single-threaded environment since they also have use-case to synchronize with ISRs.

@andrewboie @mbolivar Yeah, it sort of depends on what the driver is doing with those semaphores.  We can't have a general "semaphore" object, because that inherently implies threading.  Two possibilities that have been discussed so far:

The driver is using the semaphore as a "wake up userspace form an ISR" mechanism.  Here you can replace k_sem_get() with a simple polling loop in the driver.

The driver is just using a semaphore as a lock to block other userspace threads (lots and lots of our code uses semaphores as locks).  There are no other threads, just #if it out.

All I'm saying is let's not try to fix this by fooling the driver into thinking semaphore actually work, because they don't.

Also @mbolivar: you absolutely have to audit any driver you use from a MULTITHREADING=n environment.  It's not "Zephyr" at that point.  The APIs don't work, or work partially, or were never tested.  The docs specifically warn about that.  No free lunch. :)

All I'm saying is let's not try to fix this by fooling the driver into thinking semaphore actually work, because they don't.

What would you recommend as a way for driver ISRs to unblock waiting code (be it one thread out of many or the hard loop if multithreading=n)?
Polling "works", but wouldn't power management be a concern?

The code submitted above is fundamentally just a busy loop too.   If you need to wait for an ISR from user code, spinning is your only option (beyond writing some arch-specific code in the loop, of course).  We have PM code as part of the idle thread, but of course there is no idle thread.
FWIW, I did a super-quick audit of the semaphore usage of the files under drivers/flash:

soc_flash_mcux uses a semaphore as a simple lock, you can drop that (it also somewhat dubiously uses the taken semaphore as a way to implement "write protection" by blocking anyone who tries.  Isn't that supposed to set some kind of hardware mode, not just block local writers?!)

soc_flash_nrf has a simple lock.  It also has a "sem_sync" that it uses when CONFIG_SOC_FLASH_NRF_RADIO_SYNC is defined that pulls in a whole "ticker" abstraction from the bluetooth subsystem.  This submode will never work in !MULTITHREADING, though the rest of the driver would be fine.

soc_flash_qmsi uses a single semaphore to lock access around QMSI calls.  Remove

spi_flash_w25?!@#!@#[1] likewise just uses it as a lock

flash_sam0 ditto

flash_stm32 yup

soc_flash_nios2_qspi this too

So it seems to me that this problem should just go away without need for polling nor semaphore API abuse.
[1] -ELINENOISEINFILENAME, couldn't read

@andyross I get your point, that is a fair statement. But in this case, let's disable all kernel API that will not be supported in MULTITHREADING=n environment. Actually looking at kernel.h most of the code could be interpreted as multithread only.
Or we enable multithreading in MCUBoot (https://github.com/runtimeco/mcuboot/blob/master/boot/zephyr/prj.conf#L32) to prevent this kind of patch in the future in Zephyr's project:

The code submitted above is fundamentally just a busy loop too. If you need to wait for an ISR from user code, spinning is your only option (beyond writing some arch-specific code in the loop, of course). We have PM code as part of the idle thread, but of course there is no idle thread.

I suppose my question was really about the availability of a single kernel API for waiting on an ISR that could be used in both multithreaded and non-multithreaded mode (since the flash drivers must work in both situations) that wouldn't imply adding a bunch of ifdefs to stitch things together.

soc_flash_mcux uses a semaphore as a simple lock, you can drop that (it also somewhat dubiously uses the taken semaphore as a way to implement "write protection" by blocking anyone who tries. Isn't that supposed to set some kind of hardware mode, not just block local writers?!)

For your reference:
https://github.com/zephyrproject-rtos/zephyr/pull/5961
IOW, there was nothing there before; this is a band-aid to limp along until someone from NXP has time to fully implement the flash API.

soc_flash_nrf has a simple lock.

I think you mean sem_lock. That's a semaphore, which is needed when the driver is run with in multithreaded mode so the thread can schedule out if it's unavailable, no? Which gets back to my question about what kernel API could be used that would be safe in both contexts, and not requiring a bunch of ifdeffery. E.g. if semaphores acting as locks could degrade to busy loops if multithreading = n in some way.

It also has a "sem_sync" that it uses when CONFIG_SOC_FLASH_NRF_RADIO_SYNC is defined that pulls in a whole "ticker" abstraction from the bluetooth subsystem. This submode will never work in !MULTITHREADING, though the rest of the driver would be fine.

There's no radio in use to sync with when running this driver in MCUboot. There is later on when the chain-loaded zephyr image boots up and wants to use the same driver at the same time as communicating via Bluetooth. Hence, the ...NRF_RADIO_SYNC knob is n when building the driver for MCUboot, and y in applications that need it for BT.
So I'm not sure how that applies.

soc_flash_qmsi uses a single semaphore to lock access around QMSI calls. Remove
spi_flash_w25?!@#!@#[1] likewise just uses it as a lock
flash_sam0 ditto
flash_stm32 yup
soc_flash_nios2_qspi this too

Sorry If I'm being dense, but it seems like removing the locks outright and replacing them with busy loops means that flash drivers will spin unnecessarily when multithreading is enabled. What am I missing here?

@mbolivar : I think you might be conflating the two cases:
If you have some C code that needs to "wait" for an IRQ to be delivered before returning: obviously you can't return out of the function, so you either have to context switch away to do something else, or you have to spin.  No other options (except maybe spinning + using some arch-specific mechanism to gate power like asm("hlt") or whatever).  But none of the flash drivers need to do that.
Instead, all they need to so is use the semaphore as a mutex to prevent other threads on the system from coming along and stomping on the flash operation while it's in progress (I'm guessing this is done with a semaphore and not irq_lock() because flash operations are comparatively slow.
But in !MULTITHREADING, there are no other threads.  You don't replace those with busy loops, you replace them with no code at all, because there is no one for you to lock against.

There is no thread queue if CONFIG_MULTITHREADING=nis set.
Using Event Queue Polling and Status Triggering (State Machines) May Be Easier to Implement

No other options (except maybe spinning + using some arch-specific mechanism to gate power like asm("hlt") or whatever)

Yes so that is what is done in some of our drivers. The point is whether we want to provide a "spinning + flag" mechanism for managing this:
k_sem_take()
{
    while(!sem.flag) {
         _WFE(); / HLT(); //...
    }
}
k_sem_give()
{
     sem.flag = 1;
     // no need to do anything else, the interrupt firing will unblock WFE/HLT, etc.
}

@andyross will k_fifo_get( K_NO_WAIT) and k_fifo_put() work with CONFIG_MULTITHREADING=n? I was just testing this now and I am not sure if this is at fault but I see an issue there.
Context:
https://github.com/runtimeco/mcuboot/blob/master/boot/zephyr/serial_adapter.c
CC @nvlsianpu

@carlescufi I have come to the same suspicions as mcuboot serial-recovery mode stops responding since https://github.com/zephyrproject-rtos/zephyr/pull/8370 was merged.

@carlescufi I'd strongly expect the k_queue/fifo/lifo behavior would be the same as semaphores (which are just queues without data, semantically).  You can't have a working k_fifo() without threads.  You could (in theory) have one that was never empty, or one that was only ever inserted to from an ISR.  Whether the code works or not is unknown.
As far as the need for a "power-friendly wait for ISR" API, I'm not opposed.  I just don't like abusing the semaphore API to provide it.  Note again that the flash drivers don't need that, though.

@andyross understood. We will replace the k_fifo_ functions with sys_slist_ ones then. Singly linked lists do work without threads I hope :)

Thinking about this on the "new API" level (which would require modifying drivers of course):
The "locking" needed by the flash drivers can be solved with a variant semaphore API.  Consider:
#define k_sem_lock k_sem_take
#define k_sem_unlock k_sem_give

These implement a semaphore with restricted semantics (Of course in
practice you'd implement these as inlines with assertions to enforce
the rules)

Initial count must be 1
Lock/unlock calls must occur in non-nested pairs in the same thread

That API can be supported in both MULTITHREADING and !MULTITHREADING modes, because we're guaranteed it's a noop when there are no other threads to contend on the lock.
A "wait for ISR" API would still not be mappable directly to a sempahore, you'd have to write new code and select it via #ifdef.  But the calls could be simple, e.g. (the naming here is deliberately designed to look like an x86 MONITOR/MWAIT, but lots of archs have similar tricks):
struct k_monitor { /* arch-specific */ };

/**
 * Busy-wait (ideally in an architecturally-defined low power state)
 * for another CPU or ISR to call k_signal_monitor(), then returns.
 * May return spuriously (for example, after unrelated interrupts) and
 * must be used in a loop.
 */
void k_monitor_wait(struct k_monitor *monitor);

/**
 * Signal any waiters on the address (either on this CPU in a preempted
 * context or on another CPU) to return from k_monitor_wait()
 */
void k_signal_monitor(struct k_monitor *monitor);

From our side, yes. I think it still should be documented in MCUboot that the selected drivers (e.g. flash, uart for serial recovery) have to be reviewed that they work without multithreading.

This sounds like dependency on MULTITHREADING should be added to any drivers which requiress multithreding.

I am not sure we found a solution for this issue. As far as I can see the status of non-threaded firmware is undefined with Zehpyr. And the documentation says MULTITHREADING=n is risky: http://docs.zephyrproject.org/reference/kconfig/CONFIG_MULTITHREADING.html.
We know there are issues when non-threaded firmwares use some/most Zephyr kernel API. MCUBoot seems to be the bootloader solution chosen by Zephyr project at the moment. MCUBoot uses MULTITHREADING=n.
What should be the message for MCUBoot? "We do not guarantee MCUBoot Zephyr's backend being fonctional. Do not use MCUBoot Zephyr's backend on production device without being aware of MULTITHREADING=n limitation and having reviewed the code in consequence".
See @carlescufi recent issue "Right now this is completely preventing proper use of MCUboot.": https://github.com/zephyrproject-rtos/zephyr/issues/8393#issuecomment-397558893
I see three possible solutions:

Use MULTITHREADING=y for MCUBoot  Zephyr's backend
Disable Zephyr kernel API that are not suitable for MULTITHREADING=n
Add a big warning next to MCUBoot Zephyr's backend

Some of this is semantics.  There will never be a generic solution to this issue where you get to have MULTITHREADING=n and still use whatever APIs you want.  If you want APIs, you use Zephyr.
But for all the APIs that have actually been discussed, there are IMHO very acceptable solutions available (see above).  I'd be happy to work on something like that, or someone else could.  Neither the locking nor monitor features are large or complicated (though implementing monitor in a non-toy way requires platform-specific assembly).
  No free lunch.

I agree with @oliviermartin, that we should disable all API which cannot be used without threads when CONFIG_MULTITHREADING=n in order to avoid such issues in future.

Be aware SPI uses semaphore: https://github.com/zephyrproject-rtos/zephyr/blob/master/drivers/spi/spi_context.h#L27
As soon as you use an external SPI-Flash in MCUBoot (or other non-MULTITHREADING project) you will be affected by this issue.

Use MULTITHREADING=y for MCUBoot  Zephyr's backend

I think we will go for this option and remove the single thread support which was experimental to start with, see #9808


Allow governance to set rewardmultipliers

the rewardmultipliers are currently hardcoded, they need to be settable by governance

Questions:

Should governance be able to set the start time
Should the 25th value be required to be 0?


./../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_easyrefresh-2.0.7/lib/src/header/refresh_indicator.dart:541:10: Error: The method 'findAncestorStateOfType' isn't defined for the class 'BuildContext'.  - 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('../../flutter/packages/flutter/lib/src/widgets/framework.dart'). Try correcting the name to the name of an existing method, or defining a method named 'findAncestorStateOfType'.         .findAncestorStateOfType<_EasyRefreshSliverRefreshControlState>();          ^^^^^^^^^^^^^^^^^^^^^^^

mac 上项目一直报这个错误，请问要如何处理
./../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_easyrefresh-2.0.7/lib/src/header/refresh_indicator.dart:541:10: Error: The method 'findAncestorStateOfType' isn't defined for the class 'BuildContext'.

'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('../../flutter/packages/flutter/lib/src/widgets/framework.dart').
Try correcting the name to the name of an existing method, or defining a method named 'findAncestorStateOfType'.
.findAncestorStateOfType<_EasyRefreshSliverRefreshControlState>();
^^^^^^^^^^^^^^^^^^^^^^^

请升级至2.0.8版本

Because flutter_easyrefresh_demo2 depends on flutter_easyrefresh ^2.0.8 which doesn't match any versions, version solving failed.


Open desktop wallet when transactionURI is clicked

When I click a button linked to a  Transaction URI in decentralized app (browser), I'd like the wallet to open  with the transaction defined in the schema pending to be signed.
Motivation: https://github.com/nemtech/NIP/blob/main/NIPs/nip-0002.md#motivation

Good idea. Falls under #1425


Add Support for Edit User Profile

When a user clicks on the Edit Profile button (shown below), allow the user to edit their profile information. To achieve this, we need to either redirect the user to Auth0's edit profile page if such a feature is provided by Auth0. If such a feature is not provided by Auth0, we need to create an Edit User form that allows the user to edit following attributes

Name
Photo

Edit Profile is not supported by Auth0 hosted page. We need to use Auth0 Management API to actually execute the edit profile operation. This is not an urgent need. Auth0 Management API secrets are highly privileged and need to be handled securely.
Given this, we will de-prioritise this feature for future iterations


For active label

Thank you for your excellent work. Are any of these activities "walk" or "run"? If so, which id is?

I'm not sure if that's the correct name but there is "static walking" as action 0, if I remember correctly. The Youtube link in the paper shows all the actions.


Does Z-Stack-firmware support hardware of cc2530+2590 (PA) ?

Hi Koenkk,
I have a zigbee dongle consists of cc2530+2590 (PA).
Does Z-Stack-firmware support it?
Thanks a lot.

@zrainx Do you mean a coordinator or a router firmware?

@ptvoinfo A coordinator firmware.

The corresponding firmware exists in the repository.


[🚀esl-scrollbar]: support for continues click on the scrollbar area

As an ESL consumer, I want to have the ability to enable behavior similar to the native scrollbar: the scrollbar mouse pres should lead to continuous scroll until the mouse is released or the position reached.
NTH Feature: speed function different from liner to calculate scroll incremental number.
Priority: Normal

:tada: This issue has been resolved in version 3.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement pluggable issue libaries

It would be really helpful to be able to group together a set of issues into a library to allow you to run a specific set of checks.
Some use cases for this:

Collating checks for a specific framework or project. Project developers may want to write custom issues to enforce checks that apply only when using a specific project or framework and distributing the library with the system for third party developers to use to enforce those rules.
Checking PHP7 compatibility. Currently this is implemented as a one-off config setting but it could be implemented as a library which you choose whether to include or not when you run depending on your needs.

By implementing libraries as plugins it would be possible to share and contribute to specific libraries via their own GIT repositories.

Phan now supports plugins (see https://github.com/etsy/phan/wiki/Writing-Plugins-for-Phan). This helps with part of this request.

That's great, thanks for the update.


Check directory is able to create files for various -out option

This is to address issue #3404 , I also encountered same problem.
Besides, some other nits while checking '/' and '<' type-args, are also fixed in this PR: app_isdir returns 0 if arg is not a directory and app_access would never return a value bigger than 0.  (Both _access and access return 0 on success and -1 on failed)

Checklist

There’s a reason why this wasn’t done during the great apps rewrite ☺  It is very hard and difficult to get right.

You could try to write to a temp filename.

There’s a reason why this wasn’t done during the great apps rewrite ☺  It is very hard and difficult to get right.

Absolutely.

my comments are outdated by what you've got now.

@levitte @dot-asm
add app_dirname function in a platform independent way (Unix-like path pattern only)
For Windows and VMS, just leave them to implement in the future.

Travis failure:
ssl/statem/extensions_clnt.c: In function 'tls_construct_ctos_psk':
ssl/statem/extensions_clnt.c:964:16: error: 'mdres' may be used uninitialized in this function [-Werror=maybe-uninitialized]
             && tls_psk_do_binder(s, mdres, msgstart, binderoffset, NULL,
                ^
ssl/statem/extensions_clnt.c:797:34: note: 'mdres' was declared here
     const EVP_MD *handmd = NULL, *mdres, *mdpsk;

seems compiler doesn't know dores and mdres are consistent.

seems compiler doesn't know dores and mdres are consistent. @mattcaswell

Try to fix this by initialize some local vars.

Fixing the build should probably be a separate PR

OK, please see #3741

Revert this PR's fixing build commit by push -f

Ping @levitte @dot-asm

Ping?

I just dredge this PR...
Does it make sense to add the app_dirname in this PR (solved on most Unix-like platforms) and leave Windows and VMS implementations as a TODO in the future?
Ping @levitte @dot-asm

Rebase to master and update email address in commit.

See #4008 for the VMS implementation of app_dirname

See #4008 for the VMS implementation of app_dirname

Great!

A new commit including the test cases is added to this PR. It's enabled on in Unix env and I think @levitte would change it to support VMS if necessary.

New commits are added and rebased to master to address the issues.

@openssl, this needs another approval beside mine

Merged.  555c94a0db9661428da0a45cb32b9f002324eefd to 6f007824adc40d629e6ad1317d4184ca8bb967fc

I would like to request reversion of patch (plus two related VMS specific commits) to restore previous functionality - for protocol regression #5590 introduced by this commit.


fix boost::bad_any_cast error when CreateAtomIntPropertyList

Reference Issue
No Reference Issue.
What does this implement/fix? Explain your changes.
from rdkit import Chem
m = Chem.MolFromSmiles("CC")
for a in m.GetAtoms():
     a.SetIntProp("foo", 1)
Chem.CreateAtomIntPropertyList(m, "foo")

when CreateAtomIntPropertyList() will raise RuntimeError: boost::bad_any_cast: failed conversion using boost::any_cast.
fae6d6893be927b2aaafdb8ef1f36b5901a4d6d2 change boost::int64_t to int in getAtomPropertyList() will fix it.
Any other comments?
@elifzeng found this bug, and I try to fix it with some help from @mlsoar.
I am not familiar with C++ and not sure is it a reasonable fix.
Any comments and suggestions will be appreciated.😁

Changing all int to int64_t seems broken many things.
int or int64_t?
Which is preferable?

Changing all int64_t to int works.
int or int64_t?
Which is preferable?

Hi @0ut0fcontrol : thanks for the contribution. I need to spend a bit of time looking at the way we use boost::any to see if there's a more general way to solve this problem.

When setProp<int>("foo1", 1) and then getProp<std::int64_t>("foo1"),  a boost::bad_any_cast error will rasie for implicitly casting int(int32?) into int64_t.
Thank you for your great work on RDKit.
I am glad that I can contribute to RDKit. Please let me know if there's anything I can do to help.

@greglandrum this might be a side-effect of rdvalue specializing int's, I'll take a look.  I don't think this is a real boost::bad_any_cast

This is fixed (I think) in
https://github.com/rdkit/rdkit/pull/4194

@0ut0fcontrol : I'm going to close this since @bp-kelley has done a more robust and flexible solution in #4194.
Thanks, again, for pointing out the problem and proposing a fix we could build on!


fix: Consistent bit size for truncate

Description
Problem*
Work towards #4369
Summary*
Uses consistent bit sizes for truncate and starts a refactor where we start to track bit sizes for values in brillig IR
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Tested in aztec-packages here https://github.com/AztecProtocol/aztec-packages/pull/4597

It's just to indicate that it occupies a single address in memory! I'm very open to alternative names though!

If these variables are always fields/integers then perhaps IntegerVariable, NumericVariable, or similar?

They are always a number but they could be a pointer too, which is also a number, but feels a little weird to call numeric to a reference :thinking:

Maybe something closer to the "single address in memory" description then?
E.g. FieldSizedVar, SingleAddrVar, or ByteVar (if we define our byte-size as 1 field)? A tad awkward but more descriptive I suppose.

I see that in acir we call something similar "AcirVar". Maybe BrilligVariable could be renamed to BrilligValue and SimpleVariable to BrilligVar to keep it consistent :thinking:

SingleAddrVar sounds better!

That could be good. With the name suggestion I mostly just wanted to make sure we weren't introducing new concepts where we could re-use existing ones. I'll leave it to you whichever you think is clearest.


setDAG() and addAutoNumberedRecord() were not updating the record list cache table

@mmcev106, this should fix the issue with setDAG() and addAutoNumberedRecord() not updating the record list cache table in REDCap 8.7.2+. If this looks good, please go ahead and merge into both testing and prod branches. I will include these specific changes in REDCap 8.7.3. Thanks!

@mmcev106 additionally, after you merge these changes into prod and deploy it to Vanderbilt REDCap prod, i recommend running the query below, which will destroy any possibly messed-up record caches that may have been affected by this.
delete from `redcap_record_counts` where project_id in (select distinct project_id from redcap_external_module_settings where `key` = 'enabled' and `value` = 'true' and project_id is not null)

Thanks very much for this fix!  Just FYI, I had to add backslashes before the "Records" class name to avoid an error (since it's in the global namespace).  These changes have been tested, merged, and deployed to production!  I also ran the delete query to clear the cache.

Great, thanks!


Make Team->Survivor relationship many-to-many

Currently there's a problem with the DB schema where the Survivors had to be duplicated to account for season 46a & 46b. This was a nuisance with two teams, & can potentially cause problems with the data between the two differing when they should be identical. However, it will really be a problem when/if even more subseasons per season get added, as then we're talking about a copy of each survivor for each subseason.
I still think that having separate entries for each subseason is okay, although it may make sense to link them in some way at some point (such as, for instance, grouping subseasons together on the homepage so as to show all drafted teams for a single season on the same page). However, duplicating the survivors is clearly suboptimal.
I think the simple solution is to turn the Survivor 'Team' field from a ForeignKey to a ManyToMany. Logically this makes sense. Now that subseasons exist, a Team can have multiple Survivors (as before), & a Survivor can have multiple Teams (say, one in Season 46a, one in Season 46b).
One possible complication to this is the Fan Favorite vote, & is something I'll need to look into. I'm not sure if this will mean all votes will go towards a team's subseason, or if subseasons will effectively add together - & I think both are valid for the purposes of a fan favorite vote. Maybe it could end up being a Rubric Boolean?
In short:

Make Survivor -> Team relationship ManyToMany
Investigate impact on Fan Favorite vote
Maybe add Rubric option for collective fan favorite vote or specific to the subseason vote

Implemented in https://github.com/mawilson/survivor_draft/pull/109, minus fan favorite considerations

Fan favorite Share Vote Rubric Boolean added in https://github.com/mawilson/survivor_draft/pull/139, now done


Error occurs in step 6

Thanks a lot for this Repo!
However, have I completed steps 1 to 5, an error occurred when I try to create label files. Here is the error:
$ python3 create_label_files.py LINEMOD/lays
lays is assigned class label 0.
Traceback (most recent call last):
  File "create_label_files.py", line 96, in <module>
    mesh = trimesh.load(folder + "registeredScene.ply")
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/load.py", line 135, in load
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/constants.py", line 137, in timed
    result = method(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/load.py", line 205, in load_mesh
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/ply.py", line 76, in load_ply
    ply_ascii(elements, file_obj)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/ply.py", line 485, in ply_ascii
    row = array[position]
IndexError: index 76862 is out of bounds for axis 0 with size 76862

I have also tried with python2.7, but the error appeared to be the same.
If the .ply is saved in ASCII, error would change into:
lays is assigned class label 0.
Traceback (most recent call last):
  File "create_label_files.py", line 96, in <module>
    mesh = trimesh.load(folder + "registeredScene.ply")
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/load.py", line 135, in load
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/constants.py", line 137, in timed
    result = method(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/load.py", line 205, in load_mesh
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/ply.py", line 78, in load_ply
    ply_binary(elements, file_obj)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/ply.py", line 586, in ply_binary
    populate_listsize(file_obj, elements)
  File "/usr/local/lib/python3.5/dist-packages/trimesh/exchange/ply.py", line 551, in populate_listsize
    dtype=field_dtype)[0]
IndexError: index 0 is out of bounds for axis 0 with size 0

I really need some help, cause I have a deadline on July 31st💀

Sorry, I skipped your tutorial on Youtube which turns out to be quite helpful. Now everything is OK!

how to solve this , share the solution with details please ,thanks a lot!


install the latest version of 'Google Repository' from the 'Extras'

BUG
SUMMARY
When I add Xamarin.Forms.GoogleMaps nuget package to my Android project, I get this build errors:
1>------ Build started: Project: Sayba.Xamarin.Android, Configuration: Debug Any CPU ------
1>C:\TFS_Sayba\Sayba\Services\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets(47,3): error XBD009: Partial Download Failed for one or more parts
1>C:\TFS_Sayba\Sayba\Services\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets(47,3): error : An error occurred while sending the request.
1>C:\TFS_Sayba\Sayba\Services\packages\Xamarin.Build.Download.0.4.2\build\Xamarin.Build.Download.targets(47,3): error XBD404: Please open the Android SDK Manager and install the latest version of 'Google Repository' from the 'Extras' section, and then reload your solution.
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
My Google Repository version is 47
VERSIONS

Xamarin.Forms.GoogleMaps - 2.3.0
Xamarin.Forms - <IP_ADDRESS>0555

PLATFORMS

[ ] Android

HOW TO REPRODUCE
Just add the package to your project!

Got the same error. Care to explain what was it?

I solved this problem but there wasn't a straight forward way. Here is some of activities that I did:
1-Downloading API level 26 in Android SDK Manager
2-Using Oreo as target framework in Xamarin.Android project(Compile using Android version ...)
3-Updating everyting in Tools and Extra sections in Android SDK Manager
4-Installing Google Play Services in Extra section in Android SDK Manager
5-Removing bin and obj, cleaning, rebuilding, restaring visual studio 1000 times!
Hope this helps
Sorry for bad English.

Google play services did it, thanks a lot.

@ernestochaves, I installed google play services, but the problem still remains.
Do you remember doing anything extra?

Have you done all the 5 steps? I don't remember anything extra.

I did all steps as well. After I added google play services, restarted everything, clean, etc.

    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }

this is not work for me


possible plan to merge repository

see Merging two git repositories into one preserving the git history

closing in favour of using git submodule
cf.  #339


Modify if statement

Change the solution so an empty string is returned when num is less than 1 rather than less than 0 for consistency with instructions.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

@nataliecardot Please check all the boxes above to let us know your PR meets all the specified requirements.
Thank you.

Okay, I think I'm finished making the changes for the if statement change/new test. Not sure if I did everything right (this is my first experience submitting a pull request), so let me know if something is amiss.

@nataliecardot One more thing while you are at it.  I noticed the Intermediate Challenge in the Guide will return an incorrect result, so maybe you could add that file change to the same branch, so it shows up on this PR?

I wasn't sure how to add that file change to this branch, so I submitted a new pull request for that change.

@nataliecardot When you made your other changes to the file, then under Commit changes, you would have just selected the first option (see below).

Can you make the commit to this current PR instead and close the other PR?
Thank you.

I just did so. Thanks for all your help!

@nataliecardot Thank you for updating those changes.  I went ahead and made one other commit here instead of asking you to do it.  We made a recent change which allows us to remove the assert message argument values, so I went ahead and removed them since we are working on this file anyway.

:)


Add instructions to build with Open Watcom v2 on Windows (#1)

Add instructions to build with Open Watcom v2 on Windows. Those instructions depend on https://github.com/2point21/lba1-classic-community/pull/6

Just a remark that compile with open watcom was not added to the side menu index, so you can only access it if you have the full path.
https://lba-classic-doc.readthedocs.io/en/latest/lba1/compile_openwatcom.html

An oversight from my side, it mention to clone the doc git repo, instead of the LBA1 classic git repo.


fix unrecognised input when requiring css in angular JS

Fixing the issue described here:
https://github.com/puikinsh/gentelella/issues/608

Thank you @okolafa  for your contribution !


Update JamesBrandon.toml

Description
All previous genesis validators should name their PRs "Update {validator_alias}.toml for tesntet-15" and provide links to previous PRs merged.
#1459
#2107
If this is an UPDATE for a previous genesis validator
Checks are made against your net_address. If this has changed since the previous testnet, make sure you provide links of previous prs merged from your previous git username.
Thanks in advance!
Checklist before merging

[ ] Only one toml is added in this PR
[ ] The file being added is indeed a .toml file
[ ] The toml being added is to the correct folder, and only to the correct folder
[ ] The eth_hot_key and eth_cold_key are present
[ ] The email, discord, elements telegram, and twitter fields are present and valid

Successfully validated transactions.toml file for commit hash 6c04b6c


feat: ✨ upgrade to redis-py, use single connection instead of pool

Issue #154 led me to rethink the use of connection pools.
Connection pools make it hard to track the state of OUTPUT JSON und class level across multiple connections. This leads to one connection having it set correctly, the other to use default OUTPUT RESP in some scenarios leading to an error when parsing the RESP response.
Now pyle38 is using a single connection instead. This makes it easy to keep OUTPUT JSON correctly set.
I also choose to move to redis-py as aioredis was swallowed and is maintained there in the future.

Codecov Report

Merging #160 (1aaeccd) into main (5c4c7db) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #160   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           21        21
  Lines         1486      1498   +12
=========================================
+ Hits          1486      1498   +12

Impacted Files
Coverage Δ

pyle38/client.py
100.00% <100.00%> (ø)

pyle38/parse_response.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Remove mallocs, add ChibiOS/HAL

@jlecoeur Tell me when you will be done please.
Not that I review your stuff and you keep modifying at the same time.
Thanks

Ah sorry, I messed up with the computer in the drone dome.
I am done and I stop pushing here.

Should be good @GregoireH !

There are still some comments without answers or without integration
Could you have a last check please ?

@jlecoeur
I have a problem trying to compile sparky chibios project.

I think I responded to all comments

for those facing the compilation issue of sparky_chibios project, have a look to the trvis script to check which gcc-arm-embedded julien is now using
Cheers

you will have to previously
remove previous gcc-arm-embedded and gcc-arm-none-eabi.

I updated the doc in case someone has the same issue


No easy way to update log interval

On the device dashboard, the link for the "Log Interval" takes you to the Configure Control Constants page - which doesn't actually display any way to update the log interval. This needs to be added.

 Still, the link on the device dashboard needs to be updated.


I wonder how to connect to mysql

I love devilbox a lot  , I am looking for some solution with  I don't know how to resolve,
I have wordpress installation and would like use this script "wordmove" (https://github.com/welaika/wordmove) , to  deploy do server.
I don't know  how to set up connection to mysql .
Installed wordmove globally on my linux machine.
I use ubuntu 16.04, Docker version 18.03.0-ce, docker-compose version 1.20.0-rc1
I wonder do it possible.
Than you for you great product.

To connect to mysql, just use <IP_ADDRESS> as its host address, user: root and the password you have specified in .env (which is empty by default)

You will have to connect to <IP_ADDRESS> when Devilbox MySQL is running.
For the Ruby version, please open up an issue here: https://github.com/devilbox/docker-php-fpm

I added an issue there for you: https://github.com/devilbox/docker-php-fpm/issues/19


[NT-1099] Pledge Disclaimer View

📲 What
Re-positions and adds a new disclaimer view to the PledgeViewController.
Note: The redundant continue/pledge buttons will be removed in a separate PR.
🤔 Why
Part of our larger effort to improve the pledge view - #1157.
🛠 How
Added the new view, moved signals and tests around, make some tweaks for accessibility sizes.
👀 See

Before 🐛
After 🦋
A11y sizes

♿ Accessibility

[X] Works with VoiceOver
[X] Supports Dynamic Type

✅ Acceptance criteria

[ ] Navigate to the pledge view, observe that the disclaimer is now positioned below the payment methods and matches the figma designs.

Danger has errored
[!] Invalid Dangerfile file: invalid byte sequence in UTF-8. Updating the Danger gem might fix the issue. Your Danger version: 6.0.9, latest Danger version: 6.3.2
 #  from Dangerfile:8
 #  -------------------------------------------
 #  swiftlint.strict = true
 >  swiftlint.lint_files inline_mode: true
 #
 #  -------------------------------------------

  Generated by :no_entry_sign: Danger


wireless v3

how to configure it for heltec wireless v3

In platformio.ini file, you need to set -lheltec_s3 flag for build_flags value.
See: https://github.com/eiannone/Heltec_Esp32_LoRaWan?tab=readme-ov-file#configuration


mongo-connector may attempt to log a warning before the logging module is setup

Can anybody help me with this? What does this below statement means?
No handler could be found for logger "mongo_connector.connector"

Take a look into the existing issues to this topic and check the solutions described there. Perhaps there is a solution for your problem. How did you write the doc-manager name?
Some additional information to your setup like connector version and used doc-manager would be useful.

elasticsearch (5.0.1)
mongo-connector (2.5.0)
elastic2-doc-manager (0.3.0)
I am using config.json for all configuration, my doc manager array is as below:
"docManagers": [         {             "docManager": "elastic2_doc_manager",             "targetURL": "http://<IP_ADDRESS>:9200",             "__bulkSize": 1000,             "__uniqueKey": "_id",             "__autoCommitInterval": null         }     ]

Thanks for finding this issue! The problem is that we try to log a deprecation warning for old-style namespaces configuration before logging has been setup. The fact that the warning does not appear is a bug introduced in https://github.com/mongodb-labs/mongo-connector/pull/612.

Can you help me with new new namespaces configuration? I documentation is in for old versions and example config is for new version.
In old versions for including namespaces:
"include" : ["db_name.collection1", "db_name.collection2", "db_name.collection3"]
But sample file has something like:
"included.collection4": {             "includeFields": ["included_field", "included.nested.field"]  },
Can you give a explain the above format, also how renaming works in new versions?

Your old version
"include" : ["db_name.collection1", "db_name.collection2", "db_name.collection3"]
would look like:
"namespaces": {"db_name.collection1"; true, "db_name.collection2": true, "db_name.collection3": true}
Rename by specifying an object value for the namespace, e.g. the above with renaming db_name.collection1:
"namespaces": {"db_name.collection1": {"rename": "db_name.new_collection1"}, "db_name.collection2": true, "db_name.collection3": true}

I've updated the namespaces wiki page for the 2.5.0 release: https://github.com/mongodb-labs/mongo-connector/wiki/Configuration-Options#configure-namespaces

@rectalogic and @ShaneHarvey
Thank you for help.


[bug]: transaction history pagination not working

Describe the bug
Transaction history is only getting the first page of transactions
To Reproduce
Steps to reproduce the behavior:

Go to Transactions
Scroll down to the bottom and try to get more transactions

Expected behavior
Paginate properly transaction history
Smartphone:

Device: iPhone Xs
Version <IP_ADDRESS>1

I can reproduce. Seems a fairly critical bug.
Have you checked whether the api is working ok?

should be fixed by https://github.com/GaloyMoney/galoy/pull/2714


Update cpp robot robot

This is a good example of a merge conflict, but it's a simple one. I'll let you learn to work it out. Call me if you want a walkthrough.

Broken Branch, need to kill it.


Sanitize qoutes

https://github.com/weaviate/weaviate-python-client/issues/1095

Thank you for your PR! Could you add a test that shows that the injection is not possible anymore? A good location would be integration_v3/test_graphql.py or a new file in integration_v3


[Bug]: Get_Team_XGoals resulting in a recursion error

What happened?
While calling get_team_xgoals with an even game state for the regular season, the call isn't able to be completed if I specify multiple seasons on Anaconda. As an example, the below code never resolves.
team_even_xgoals_late = asa_client.get_team_xgoals(season_name="2019,2021", split_by_games = True, stage_name = "Regular Season", even_game_state = True)
However, if I call the following, the code runs:
team_even_xgoals_current = asa_client.get_team_xgoals(season_name="2022", split_by_games = True, stage_name = "Regular Season", even_game_state = True)
The same is true if I just specify one season, i.e. 2019. It looks like it may have something to do with specifying multiple season names.
Happy to help track down the error even further - really great package!
Version
0.1.1
What version of Python or R are you using?
Python 3.7.x
What operating system are you using?
MacOS
Relevant log output
File "/Users/nielsenz/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 495, in __new__
    return Index(subarr, dtype=dtype, copy=copy, name=name, **kwargs)

  File "/Users/nielsenz/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 391, in __new__
    name = maybe_extract_name(name, data, cls)

  File "/Users/nielsenz/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 6386, in maybe_extract_name
    if name is None and isinstance(obj, (Index, ABCSeries)):

  File "/Users/nielsenz/anaconda3/lib/python3.7/site-packages/pandas/core/dtypes/generic.py", line 45, in _check
    return getattr(inst, attr, "_typ") in comp

RecursionError: maximum recursion depth exceeded while calling a Python object

Thanks for reporting this! Gonna give this a look over the weekend.

@bgrnwd No problem! FYI - it may have been fixed by #19 but I haven't had time to check.

Clearly don't know how GitHub works - apologies!

No worries!
@nielsenz Can you try upgrading itscalledsoccer to the latest version by running pip install -U itscalledsoccer? I wasn't able to recreate your issue when using the latest version (0.2.0) so my hunch is that this may be fixed.

@bgrnwd All good, updated and solved! Thanks again for the help


Add schema to Redis initialization & Improve LVM-TGI For Multimodal Retriever Microservice

Description
Add schema to Redis initialization. This helps retriever to return correct/expected metadata.
Improve LVM-TGI to accept LVMSearchedMultimodalDoc as additional type of input
Issues
N/A
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[ ] Others (enhancement, documentation, validation, etc.)

Dependencies
N/A
Tests
N/A

@lvliang-intel Can you please review this PR again? There is an additional change on LVM-TGI.

@lvliang-intel @Spycsh Can you please click merge this one to main branch please? I need this merge in order to test GenAIExamples PR? Thanks


Set the CSV output to an empty string for null values

Fixes #8343.

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated

thanks!


Scrolling using mouse or touchpad not working on flutter web.

The scroll is only working if you click and drag.
If I remove the header its scrolling properly using both methods

Scrolling with mouse is working for me in version 1.0.8, but dragging is working only after clicking the right mouse button and then picking the card with the left as usual.

Scrolling with mouse is working for me in version 1.0.8, but dragging is working only after clicking the right mouse button and then picking the card with the left as usual.


Don't touch other downloads with the download filename handler

Please see this picture which occurs when downloading FROM SITES OTHER THAN TWITTER:

Not only that, it is auto-generating (aka overriding) the native auto-generated download name to "download.htm".  This was on a non-Twitter site when attempting to ALT-click a file to force FDM to download it.
IMO this is a HUGE security issue.  Why on earth does this extension need this permission?:

Yes, I have no issue granting full permission to Twitter sites, and yes if THOSE sites are all it acts upon (including downloads) then I also have no issue granting permissions for manipulating Twitter downloads (but actually prefer it didn't at all).  I do NOT, however, want this extension touching ANYTHING outside of those sites and clearly it is due to either a bug or abuse of this blanket global download permission.  This is beyond a bug that really needs to be corrected ASAP.

Also see my comment on #150 a simple url rewrite is all that is required I have userscripts that do this without ANY browser permissions or actions whatsoever.

Feel free to open a PR if this is a simple fix

We use the permission to fix the image filename: https://github.com/sindresorhus/refined-twitter/blob/3e20093ef7dae7819ab237e18fd6d3d974037394/source/background.js#L23-L28 I didn't realize it would affect other sites. That's very surprising.
The fix would be to check the absolute URL that initiated the download in that handler and make sure it's from Twitter: https://developers.chrome.com/extensions/downloads#type-DownloadItem

You don't need to fix the filename, anymore.  This is what a twitter filename looks like to me, now:
https://pbs.twimg.com/media/D9sMEzzXUAAX_Yr?format=jpg&name=4096x4096
At least on my browser, this saves fine as a normal jpg, so the plugin no longer needs to do anything with image downloads (unless other people's twitter web experience is different than mine).

Sorry I've been behind.  I will absolutely work on a PR using my userscript perhaps as a guide but I also fully agree with @mtlaird in that perhaps you want to look at whether it really is even a needed feature anymore since the naming has now changed.  Obviously if it's not required for naming, then that will really simplify things and as far as I can tell, remove the entire need for this permission or any of the logic.
Let me know @sindresorhus if after reviewing @mtlaird info on the current naming whether I even need to work on a PR or if you think perhaps it can just be eliminated.  TIA!

I dont know if its related, but I just had to disable this extension as it is preventing chrome from remembering download location "globally".
All downloads are sent to the configured download folder only instead of chrome remembering the last location.

Came here to submit an issue for this, but it seems I'm not alone.  It's interfering with another (actual) download manager.  Going to have to keep it disabled until this is fixed.  Although the idea of limiting its scope to twitter URLs is good, my first thought was to include an option to disable its download features.  I'm guessing that may not work though as the permissions are baked into the extension install.

Just another user who had to troubleshoot for a while to figure why a site that I regularly download SRT files from was converting them to HTML. This is the culprit! Disabled until a fix can be issued, but I agree with the above—this "feature" is no longer useful and should just be disabled.

Closing as this extension is now deprecated: https://github.com/sindresorhus/refined-twitter/commit/8dd9df749d3a4e82c95b2bd6628c8d65f0f72e6c


3.0.0-Beta-2 Memory modified (used) after free in EVP_CipherInit_ex

Getting memory "modified after free" (use after free) exception. I'm using OpenSSL 3.0.0 Beta 2 with SQLCipher 4.0.1 on Windows 10 x64 machine. The same combination (Win 10 x64 and SQLCipher 4.0.1) works fine with OpenSSL 1.1.1
Below is the call-stack from windbg
Call Site
00 ntdll!RtlpBreakPointHeap
01 ntdll!RtlpAllocateHeap
02 ntdll!RtlpAllocateHeapInternal
03 ntdll!RtlDebugAllocateHeap
04 ntdll!RtlpAllocateHeap
05 ntdll!RtlpAllocateHeapInternal
06 ucrtbase!_malloc_base
07 libcrypto_3_x64!CRYPTO_malloc
08 libcrypto_3_x64!CRYPTO_zalloc
09 libcrypto_3_x64!aes_256_cbc_newctx
0a libcrypto_3_x64!evp_cipher_init_internal
0b libcrypto_3_x64!EVP_CipherInit_ex
0c Test_app!sqlcipher_openssl_cipher
0d Test_app!sqlcipher_page_cipher
0e Test_app!sqlite3Codec
0f Test_app!sqlite3PagerCodec
10 Test_app!walWriteOneFrame
11 Test_app!sqlite3WalFrames
12 Test_app!pagerWalFrames
13 Test_app!sqlite3PagerCommitPhaseOne
14 Test_app!sqlite3BtreeCommitPhaseOne
15 Test_app!vdbeCommit
16 Test_app!sqlite3VdbeHalt
17 Test_app!sqlite3VdbeExec
18 Test_app!sqlite3Step
19 Test_app!sqlite3_step
1a Test_app!SqliteStatementExecute
1b Test_app!wmain
1c Test_app!invoke_main
1d Test_app!__scrt_common_main_seh
1e kernel32!BaseThreadInitThunk
1f ntdll!RtlUserThreadStart

Unfortunately there is not much we can do with such bug report. Ideally we would need a simple reproducer, but at least some application code, I.E., the sequence of the calls to OpenSSL that trigger the use-after-free, would be needed.

Not sure if it'll helpful or not but I was getting this "use after free" exception (above call stack) when I used below code to generate "EVP_PKEY"
    unsigned int primes = 3;
    unsigned int bits = 4096;
    OSSL_PARAM params[3];
    EVP_PKEY *pkey = NULL;
    EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL);

    EVP_PKEY_keygen_init(pctx);

    params[0] = OSSL_PARAM_construct_uint("bits", &bits);
    params[1] = OSSL_PARAM_construct_uint("primes", &primes);
    params[2] = OSSL_PARAM_construct_end();
    EVP_PKEY_CTX_set_params(pctx, params);

    EVP_PKEY_generate(pctx, &pkey);

Switching to  EVP_PKEY *pkey = EVP_RSA_gen(bits); has fixed the problem.

The only obvious difference (apart from the multi-primes) is your code sample does call EVP_PKEY_CTX_free(pctx); to get rid of the context after key generation.

The only obvious difference (apart from the multi-primes) is your code sample does not call EVP_PKEY_CTX_free(pctx); to get rid of the context after key generation.

Yes, thanks for pointing out, updated the code

I see you are using sqlcipher. Have you logged a bug there?


Pipe ref

Adds pipe references.

[ ] Ref declaration hoisting
[x] |>= refs

Hoisting ref decs is still TODO but that could be a separate follow on.

I think we probably need ref hoisting before we can merge, or we break some existing pipelines used as expressions.

On second thought, as this only affects fat pipes, which really need refs to be useful, I agree with merging this sooner and leaving hoisting for the next PR.


Multiple services check support

like -service=service1,service2
Another option is to support -discoverServices flag  that will use reflection API to discover services and then runs check for each discovered service.

The Check(serviceName) is a standard RPC defined by gRPC. We just mirror that in this tool and so far this never came up, that's why I am inclined to wait for more priority this.
In the meantime, you can use GNU Parallel or a similar bash script equivalent to achieve the same task?

I understand that grpc check supports single service check. My proposition is to loop over passed/discovered services names and call the check for each service.

I am inclined to say that you can probably do that loop yourself in a little wrapper script.
It's mostly a philosophical question as to whether CLI tools should support multiple arguments instead of making the caller write that loop. Some tools like curl, wc, ... accept multiple arguments and do the same task on them.
One can also make an argument that since you control the implementation of the HealthService.Check rpc, you know which services exist in that server, so you can also loop over them. Furthermore, you can perhaps even control the concurrency around how multiple services are checked (perhaps in parallel). It is really up to you how you want to interpret the HealthCheckRequest.service field.
I'll keep this issue open, but I highly doubt we'd implement something that discovers services and loop over them.

I'll keep this issue open, but I highly doubt we'd implement something that discovers services and loop over them.

No need to implement something that discovers services.

I think adding something like this requires more thought. Not all gRPC servers offer reflection (it's a minority that I'd say allows reflection API in practice), furthermore even the HealthService itself is included in the reflection. Furthermore, I am not sure why this can't be implemented in the server by leaving the service="" empty (indicating all services registered), as the server code has access to the service list (without needing reflection). That's why I am not fully convinced that this is a common scenario that people need and cannot achieve without this tool supporting it.

If user passes -discoverServices then he probably understands what he is doing and he has reflection enabled.
It's not hard to exclude reflection service by its name from the list of discovered services, as well as health check service.
Implementing  service check one by  one  is easier, if you have a look at default implementation of grpc health manager  service in grpc-java, for example.

@ahmetb wrote:

I am inclined to say that you can probably do that loop yourself in a little wrapper script.

If you're shipping your application in a shell-free image like gcr/distroless, the typical for/in/do/done shell scripts won't work -- there is literally no sh to interpret them. It'd be much, much easier if the probe binary accepted multiple service names.

If you're using Kubernetes, I recommend giving this feedback to the builtin grpc health probe in Kubernetes. This project is largely in maintenance mode at this point.

We're not on 1.23 yet, so we're stuck with maintenance mode :)


Change database structure and Query format

The current database structure is not sufficient to manage the growing user requirement. And also since the scan operations consume large amounts of system resources therefore have to avoid performing scans.

#46


fix: typo from 'starer' to 'started'

Fix the issue #402

Closing in favor of https://github.com/vercel/commerce/pull/433 opened before, thanks!


Update-FMCAccessPolicyRule may delete user policy elements in existting rules--Need JSON of an access rule that has user policy elements

Would like output of a rule that contains user policy elements:
Get-FMCAccessPolicyRule -AccessPolicy SomePolicy -RuleName SomeRule -JSON


Prismatic joint misbehaves under an orthogonal impulse

I think I understand more specifically what is wrong with the prismatic joint now.  If you apply an initial velocity or force along the prismatic axis, everything is fine.  Same if it's along one of the axes, but on the other orthogonal axis, the objects spin around each other incorrectly -- their orientation appears to be equal but in the wrong sense -- maybe it is just a sign error?
Video demonstration:

Here we see a top view of two cubes that are attached by a prismatic joint in Z (axis=[0,0,1]). An impulse is applied by initial velocity in X, Y, and Z directions respectively. The impulse along the X axis (left) and along the Z axis (right) are fine, but the behaviour of the cubes when an impulse is applied in the Y axis seems wrong-- they seem to be turning equally, but the wrong way.
I'm looking into it, but any help would be appreciated.
Here is the code:
#!/usr/bin/env python
from siconos.mechanics.collision.tools import Contactor
from siconos.io.mechanics_io import Hdf5
import siconos.numerics as Numerics
import siconos.kernel as Kernel

with Hdf5() as io:
    io.addPrimitiveShape('Cube', 'Box', (1, 1, 1))
    io.addPrimitiveShape('Ground', 'Box', (10, 10, .5))
    io.addNewtonImpactFrictionNSL('contact', e=0.0, mu=0.2)
    io.addObject('ground', [Contactor('Ground')], translation=[0, 0, -0.25])

    io.addObject('cube1', [Contactor('Cube')], translation=[-1, 0, 0.5], mass=0.1)
    io.addObject('cube2', [Contactor('Cube')], translation=[ 1, 0, 0.5], mass=0.1,
                 velocity=[0,5,0,0,0,0])
    # Try velocity=[5,0,0,0,0,0]) = correct behaviour
    # Try velocity=[0,0,5,0,0,0]) = correct behaviour
    # Try velocity=[0,5,0,0,0,0]) = incorrect behaviour

    io.addJoint('joint1', 'cube1', 'cube2', [0,0,1], [], 'PrismaticJointR')

with Hdf5(mode='r+') as io:
    io.run(t0=0,
           T=3,
           h=0.001,
           theta=0.50001,
           Newton_max_iter=20,
           solver=Numerics.SICONOS_FRICTION_3D_NSGS,
           itermax=10000,
           tolerance=1e-14)

It turns out that simply negating the quaternion differential in the first two components of the prismatic constraint "fixes" the issue, but I'm sure this won't work on the position level, so further work is needed.  I'm still working to understand exactly how H is derived here.  I understand it for knee joint, but the quaternion calculations are a little daunting for prismatic.  In any case, here is some fun sympy code that seems to generate derivatives that correspond well with the expressions in PrismaticJointR.cpp:
#!/usr/bin/env python3

import sympy
from sympy import Symbol
from sympy.utilities.codegen import codegen

q11 = Symbol('q11')
q10 = Symbol('q10')
q13 = Symbol('q13')
q12 = Symbol('q12')
q21 = Symbol('q21')
q20 = Symbol('q20')
q23 = Symbol('q23')
q22 = Symbol('q22')
X2 = Symbol('X2')
X1 = Symbol('X1')
Y2 = Symbol('Y2')
Y1 = Symbol('Y1')
Z2 = Symbol('Z2')
Z1 = Symbol('Z1')
_V1x = Symbol('_V1x')
_V1y = Symbol('_V1y')
_V1z = Symbol('_V1z')
_G10G20d1x = Symbol('_G10G20d1x')
_G10G20d1y = Symbol('_G10G20d1y')
_G10G20d1z = Symbol('_G10G20d1z')

H1 =   (((q11**2 + q10**2 - q13**2 - q12**2) * (X2 - X1)
         + (2*q11*q12 + 2*q10*q13) * (Y2 - Y1)
         + (2*q11*q13 - 2*q10*q12) * (Z2 - Z1)) * _V1x
        + ((2*q11*q12 - 2*q10*q13) * (X2 - X1)
           + (q12**2 - q13**2 + q10**2 - q11**2) * (Y2 - Y1)
           + (2*q12*q13 + 2*q10*q11) * (Z2-Z1)) * _V1y
        + ((2*q11*q13 + 2*q10*q12) * (X2-X1)
           + (2*q12*q13 - 2*q10*q11) * (Y2-Y1)
           + (q13**2 - q12**2 - q11**2 + q10**2) * (Z2-Z1)) * _V1z
        - _G10G20d1x * _V1x - _G10G20d1y * _V1y - _G10G20d1z * _V1z)

print("H1 =", H1)
print()

[(f_name, f_code), header] = codegen(
    ("dH1X1", H1.diff(X1)), "C", header=False, empty=False,
    argument_sequence=(X1,Y1,Z1,q10,q11,q12,q13,X2,Y2,Z2,q20,q21,q22,q23),
    global_vars=(_V1x,_V1y,_V1z,_G10G20d1x,_G10G20d1y,_G10G20d1z))

print('Derivative of H1 with respect to X1')
print(f_code)

# Gives:
# H1_result = (_V1x*(-pow(q10, 2) - pow(q11, 2) + pow(q12, 2) + pow(q13, 2))
#              + _V1y*(2*q10*q13 - 2*q11*q12)
#              + _V1z*(-2*q10*q12 - 2*q11*q13))

# In PrismaticJointR.cpp:
# jachq1(0,0) = (_V1x * (-q11^2 - q10^2 + q13^2 + q12^2)
#                + _V1y * (-2*q11*q12 + 2*q10*q13)
#                + _V1z * (-2*q11*q13 - 2*q10*q12))
# Same answer!

[(f_name, f_code), header] = codegen(
    ("dH1q10", H1.diff(q10)), "C", header=False, empty=False,
    argument_sequence=(X1,Y1,Z1,q10,q11,q12,q13,X2,Y2,Z2,q20,q21,q22,q23),
    global_vars=(_V1x,_V1y,_V1z,_G10G20d1x,_G10G20d1y,_G10G20d1z))

print('Derivative of H1 with respect to q10')
print(f_code)

generates (formatted for legibility):
Derivative of H1 with respect to X1
#include "dH1X1.h"
#include <math.h>
double dH1X1(double X1, double Y1, double Z1, double q10, double q11,
  double q12, double q13, double X2, double Y2, double Z2, double q20,
  double q21, double q22, double q23)
{
   double dH1X1_result;
   dH1X1_result = _V1x*(-pow(q10, 2) - pow(q11, 2) + pow(q12, 2) +
      pow(q13, 2)) + _V1y*(2*q10*q13 - 2*q11*q12) + _V1z*(-2*q10*q12 -
      2*q11*q13);
   return dH1X1_result;
}

Derivative of H1 with respect to q10
#include "dH1q10.h"
#include <math.h>

double dH1q10(double X1, double Y1, double Z1, double q10, double q11,
   double q12, double q13, double X2, double Y2, double Z2, double q20,
   double q21, double q22, double q23)
{
   double dH1q10_result;

   dH1q10_result = _V1x*(2*q10*(-X1 + X2) - 2*q12*(-Z1 + Z2) +
      2*q13*(-Y1 + Y2)) + _V1y*(2*q10*(-Y1 + Y2) + 2*q11*(-Z1 + Z2) -
      2*q13*(-X1 + X2)) + _V1z*(2*q10*(-Z1 + Z2) - 2*q11*(-Y1 + Y2) +
      2*q12*(-X1 + X2));

   return dH1q10_result;
}

After a bit of reverse engineering on the function Jd1d2 these seem to correspond well.  But I think I'll avoid doing that for every element of the Jacobian ;)  I assume the auto-generated code is fine, the problem is more likely in H1/H2 somewhere.

Here is the same video as above but after the work-around committed in eb428ce2c.

I've confirmed now that this temporary fix also fixes #113, and I have also confirmed after playing with the pending solution to #114 that the temporary fix indeed does not work at the position level.

cool :_)
What do you mean by " the temporary fix indeed does not work at the position level."

I mean that I committed a fix in eb428ce2c91 that inverts the derivative of the rotation, but H1/H2 are still incorrect.  So it works at the velocity level but not at the position level.  I am working on it, I found the hand-written notes in siconos-junk, but I am still not sure where the error is.

The maple files are also somewhere. I will find it

There is one maple file there but I cannot open it ;)

there  : siconos-junk/SandBox/Joints

Some progress. I have reconstructed the Maple code based on the handwritten notes using sympy and achieved the same results.  Here is some basic code that generates H1:

Some progress, I have reconstructed the Maple code using sympy and generated equivalent functions that seem to give the same results. Further, I found that if I change the direction of the q1 frame adjustment I can get the same negation of the quaternion part of H1/H2.  Here is some basic code:
G1G2d1 = qmul( qinv(q1), qmul(G2 - G1, q1) )
Ha = lambda V: np.dot(G1G2d1, V)
Hb = lambda V: np.dot(G10G20d1, V)
H1 = sympy.simplify(Ha(V1) - Hb(V1))
H2 = sympy.simplify(Ha(V2) - Hb(V2))

I got better results if I changed G1G2d1 to,
    G1G2d1 = qmul( q1, qmul(G2 - G1, qinv(q1)) )

Unfortunately, it still didn't work in position.  Now I am realizing there is further something wrong, because I found that even with this solution, it does not work if the two bodies have different initial orientations.

I am wondering if there is a problem with the formulation.  In fact, the code given in my previous comment reproduces what is already in PrismaticJointR.cpp.  However, the handwritten notes give the formula,
G1G2d1 = qmul( qinv(q1_0), qmul(G2 - G1, q1_0) )

where q1_0 is the q1(t) of t=0, not
G1G2d1 = qmul( qinv(q1), qmul(G2 - G1, q1) )

That is, the bodies need to be compared to V1/V2 with respect to the original frame, since V1/V2 are specified in the initial frame and not adjusted to changes in q1.  I think somehow that both q1 and q1_0 need to be taken into account.  I've been trying to do it but without success so far.

Super.
Really happy that the code has been translated into Sympy. I think that it would be really good to commit the simply files directly into the repository.
Regarding your question about the fact that it is not working working in position, I am asking whether it is not more deeper problem. We are computing gradients w.r.t to the quaternion variable. I am pretty sure that this gradient are not consistent with the fact that with are dealing with unit quaternions that must lie into a Lie group. The computation of differential in Lie group are not given by the Jacobian into linear vector spaces. This is not crucial at the velocity level but at the position level it may be.
I will try to propose you another type of tangent operators.

Yes, I see your point about the gradients in rotation space.  I am not (yet) familiar enough with quaternions to answer intelligently ;)
However, I will note that the DirectProjection method appears to work fine with PivotJointR.
I'll keep working on this today, since it's interesting and if I can figure it out it should help immensely with implementing other joint types as well.  I'll look into committing the sympy code, for now it is a bit messy and doesn't generate code that looks quite as efficient.  We talked about using autodiff (like CppAd) which I am still interested in, but I needed an intermediate solution for now!

Btw someone mentioned Casadi a while ago. One of the main dev of casadi is working at the UW-Madison. So I can ask him for help if we use his software.

Just a warning, I have rebased the directproj branch on the lastest master.

Casadi is another autodiff framework like CppAd, right?  Could be interesting.  As long as it's an easily installable dependency I don't much care which one is used ;)  (I was looking at CppAd principally because it's in Ubuntu via apt-get)  Maybe he could summarize the benefits of Casadi vs alternatives for us?

ok, if it works fine with a pivot joint, the problem comes from a wrong formulation of the joint. You are specking and the hand-written note, those in siconos-junk ?

I just pushed commit 4e363b84 to directproj that includes prismatic.py.  It uses sympy's codegen to write a file "prismatic.generated_c" containing C code that calculates H1, H2, and jachq.  It adds some CMake dependencies to run this script when it changes, which must be enabled by turning on WITH_SYMPY.
If WITH_SYMPY is enabled, then PrismaticJointR.cpp will use the generated code.  (Note, it's for Python3, so you must "pip3 install sympy".)  No detection of sympy is performed.  It generates code that is only #included in PrismaticJointR.cpp as static functions, and the extension .generated_c is used to stop the automatic source file detection trying to compile it on its own.
Currently it generates code according to the current behaviour of the prismatic joint, as far as I can tell, so you should see no difference using WITH_SYMPY.  However, you can modify the formulas in it and get new calculations for H1/H2 and jachq.  I'm passing pretty much all available information to the functions as parameters, which isn't very efficient, but is for completeness so that one can modify the generating code without needing to change the function signatures.  (Hopefully the C compiler can optimise it all out since the functions are static.)
That said, at the moment it only replaces H1/H2 and leaves H3/4/5 as they are.  (The orientation constraints.)  Same for rows 2,3,4 of jachq -- the old calculations are still performed, and only rows 0 and 1 are replaced.

ok, if it works fine with a pivot joint, the problem comes from a wrong formulation of the joint.

That's my hypothesis, yes.

You are specking and the hand-written note, those in siconos-junk ?

Yes.  In particular, this:

Notice the use of q1_0 in the RHS of the last line.  The current code does not use q1_0, but rather q1.  However, if I change it for q1_0, there is no rotation at all in the result.  I'll keep working on it!

did you finally try with the Maple code in siconos-junk/Sandbox/Joints ?

I'm afraid I don't have Maple.  I haven't asked around to see if I can find it yet, but it's been a good exercise to reconstruct the equations myself.  I am able to see the formula for H1 and H2 by looking at the .mw file in a text editor, however it includes all individual quaternion element manipulations and so is not easy to read.  I can't tell if there is a "higher level" formula in that file like the one I showed in previous comments.  Can you open the Maple file and tell me if it corresponds to,

qmul( qinv(q1), qmul(G2 - G1, q1) )

as I suspect?  Maybe you could take a screenshot for me..


Degradation of results when rotation

Hi,
Thank you for the great publication.
In fact, I'm a bit surprised that the results degrade if you rotate the objects, because rotation is a rigid transformation like the shift. If you rotate, the neighbor of the points doesn't change, as well as the distance between them, so how can you explain this degradation?
Thank you in advance for your answer!

Rotation doesn't affect the relative distance but changes the direction vectors, which are used for 3d graph convolution.
While the performance degrades, our model is more robust under shape rotation, compared to previous works.

This answer the question. Thank you.
closing the issue!


Homework 3

Create HSM Module which contain HSM pakage(includes Doctor,Patient,User etc Class) and Billingcomponent pakage(includes Billing, HeathinsurancePlan, platinum,gold etc Class) learn and apply concept of oops.

Metric
Value

alert_status
:white_check_mark: OK

bugs
1

code_smells
26

reliability_rating
C (at least 1 Major Bug)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
:x: ERROR

bugs
0

code_smells
16

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


[fix] #3451: Fix docker build on M1

Description

The docker build on M1 was failing because of lacking platform tag at first, and then because of some missing links to wasm-opt's musl binaries.

Linked issue

Closes #3451.

Benefits
Finally local docker launching as expected on M1 machines, abysmal build times notwithstanding.

Checklist

[x] I've read CONTRIBUTING.md
[x] I've used the standard signed-off commit format (or will squash just before merging)
[ ] All applicable CI checks pass (or I promised to make them pass later)
[ ] (optional) I've written unit tests for the code changes
[ ] I replied to all comments after code review, marking all implemented changes with thumbs up

Works on my M2 machine.

LGTM, but I could not approve. Unfortunately, I could not check how it works on my machine. There are Docker errors, which I don't want to debug, because too much effort for too less output.

Which errors specifically? It would need to be verified by QA anyways, but I want to make it as robust as possible still. And I do agree debugging it is really frustrating.


create PipelineResource as normal user

Describe the Bug
When I create a PipelineResource as a normal user, i receive
pipelineresources.tekton.dev is forbidden: User "demo" cannot create resource "pipelineresources" in API group "tekton.dev" at the cluster scope
Steps to Reproduce

OpenShift version 4.2 installed
OpenShift Pipelines installed with Operator
login with user demo
use doc until 3.3

Expected Behavior
I think it should work as normal user.
Additional context
Add any other context about the problem here. If applicable, add screenshots to help explain your problem.

cc @vdemeester @sthaha

@rbaumgar could you provide more details about your cluster and the user you are authenticated as and a more complete log.
Here is the log of my attempt to run as a non-admin user: https://pastebin.com/raw/nQk9z9Uy

Siamak,
you are right plain oc works, but when I open the developer console,
going to search and search for pipelineresouce...
--> pipelineresources.tekton.dev is forbidden: User "demo" cannot list
resource "pipelineresources" in API group "tekton.dev" at the cluster scope
see screen shot
[image: image.png]
On Fri, Nov 29, 2019 at 6:10 PM Siamak Sadeghianfar <
<EMAIL_ADDRESS>wrote:

@rbaumgar https://github.com/rbaumgar could you provide more details
about your cluster and the user you are authenticated as and a more
complete log.
Here is the log of my attempt to run as a non-admin user:
https://pastebin.com/raw/nQk9z9Uy
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openshift/pipelines-docs/issues/66?email_source=notifications&email_token=AEWHAS72NM4O42357AK3MCDQWFEITA5CNFSM4JSVIBP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFPJPAQ#issuecomment-559847298,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEWHAS7JKX6KAV6AT54W6JTQWFEITANCNFSM4JSVIBPQ
.

@rbaumgar could you validate it again to see if the issue still exists. It is fixed to my knowledge. Validated on OCP 4.3

Validated against OCP 4.3.0 / CRC 1.6.0


Not muxing subtitles

Hello,
It would be helpful if you could specify whether subtitle(s) should be muxed together with audio and video or keep as external files.

v0.2.0 supported: -M mkv:skip_sub=true


s6-supervise (child): fatal: unable to exec run

I try to run on CentOS-7 with podman running with:
podman run --rm -ti --name freepbx --env-file .env --net host -v /srv/freepbx/data:/data -v /srv/freepbx/log:/var/log tiredofit/freepbx:15
I always got this error:
s6-supervise (child): fatal: unable to exec run: Permission denied
s6-supervise 02-zabbix: warning: unable to spawn ./run - waiting 10 seconds
s6-supervise (child): fatal: unable to exec run: Permission denied
s6-supervise 03-cron: warning: unable to spawn ./run - waiting 10 seconds

you'd have to run with:
podman run --systemd=false ....


Turn the screen off during a call when the proximity sensor says phone near head

We tested on a samsung S6 : it used to work.
Could you tell us the device you used ?

This problem was reported by Dr. Bacon [@bacon:matrix.bacontoast.org] in Matrix HQ here:
https://matrix.to/#/!cURbafjkfsMDVwdRDQ:matrix.org/$14780584251606SxHal:matrix.bacontoast.org

Dr Bacon does not mention the device he used. So far, in our tests it works, but may be in some devices the information provided by the distance captor is different and does not trigger the screen off.
Without the device model we cannot investigate Dr Bacon case.

Reported by https://matrix.to/#/!GnEEPYXUhoaHbkFBNX:matrix.org/$1480035346195422zeIkA:matrix.org :
Just realised riot doesn't turn the screen off when making a call.. That feels weird if you're calling at night, as you've got a bright glow in the corner of your eye where the phone is
Turning off the screen when putting the phone next to the ear I mean
(Device is xperia z3c)


TextBlock misaligned when text starts with '1'

Describe the bug
A text in TextBlock looks a bit misaligned if the first symbol is '1'.
To Reproduce

Make a new Avalonia .Net application;
Insert the following lines in the empty Window:

  <Grid>
    <StackPanel Margin="10">
      <TextBlock Text="12345"/>
      <TextBlock Text="22345"/>
      <TextBlock Text="22315"/>
    </StackPanel>
  </Grid>

Expected behavior
All block should have the same width.
Screenshots

The first TextBlock has an offset at the beginning and appears wider than the two others. Also note the 3rd text where '1' is in the middle - it appears ok.
Environment

OS: Windows
Avalonia-Version: 11.0.5rc1

This perfectly aligns:
      <TextBlock>
        <Run Text="12345"/>
        <LineBreak/>
        <Run Text="22345"/>
        <LineBreak/>
        <Run Text="22345"/>
        <LineBreak/>
      </TextBlock>

@ATZ-FR which font do you use? can you maybe file a minimal sample to reproduce?

This is with Courier New:

But it looks like there is an issue with the leading overhang

Sorry forgot to mention, this happens with most of regular fonts (non-monospace) like Arial, Segoe, Times etc. I don't use InterFont.

But you are comparing characters with different widths.  What does it look like if you compare different permutations of the same characters?  Try the following:
12345
21345
32514
If these still produce the problem then there may be an issue, but it's likely this is not a bug.


Mátra update

Updated 24 (Parádsasvár) and 2408
Added Kékestető
Note for reviewer: https://kmlviewer.nsspot.net/ can be used to open KML files online.

@Sp3EdeR I will merge this, but I suggest to take a look at that two comment


Format cell class base on value

Issue Type (delete the irrelevant ones)

[x] Question

Specs
What version are you using?
2.13.3
What browser?
Chrome
Expected Behavior
I'm searching everywhere but not found solution. I want to format td class base on value itself, how can i do with vue good table.
Eg: if value is string, td have .blue class, if value is number, td have .red classs. Hope its clear enough.

Hey @kn7007 , you can find an example right in the wiki:
https://jsfiddle.net/aks9800/t6vt8q84/
closing.

Thank you @xaksis, i thinking about it before but for me, it seem to be tricky because it not effected on td tag and we must style for span properly. Its more useful if you can add function style to tdClass like rowStyleClass.

Hey @kn7007 good suggestion. I'll look into this.

No problem, i'm waiting for the next version. Hope here from you soon

@kn7007 done:
https://xaksis.github.io/vue-good-table/guide/configuration/column-options.html#tdclass


Strange endpoint

Please answer these questions before submitting your issue.

Why do you submit this issue?
[x] Question or discussion

Question

Why there are so many strange endpoints?

Bug

Which version of SkyWalking, OS and JRE?
6.5.0 with path ignore plugin
Which company or project?
xiaomi
What happen?
the picture i uplode for detail

Requirement or improvement

Please describe about your requirements or improvement suggestions.

We can't tell where they are. Sorry. That is your app data.


Documentation on disabling standards

Since #15 remains open, I'd like to disable the files_should_be_indented standard in my codebase. How can I do this?

As the configuration that comes with ansible-review is supposed to be only an example, set up the ansible-review configuration to point to your own copy of standards.py and remove the standard you don't want from the list of standards.

It would be nice if one could disable a standard using a special comment in a file. Per repository configuration would be great but, for various reasons, it would be useful to allow a rule to be disabled for a single file. This is typically done by a special comment in a file. Some checkers allow this to be done just for the next line while others change the setting for the entire file.


Questions about font rendering

Hi, Vscode's fonts under windows are blurry compared to sublime. I think it would be great if you could improve the font display problem.

We are building exploration builds that use a much newer version of Electron (our UI framework). I wonder if this issue reproduces with one of these builds, could you try? Download:

macOS: Download
Linux: Download
Windows: Download

Please do.


Is it possible to support vision transformer with more pre-trained light-weight models?

Thanks in advance for your extraordinay work! It brings a lot of convience for us!
My request here is that is it possbile to support vit transformer hybird with more pretrained light-weight models, like efficient Net or mobileNet? Currently there are two models available(vit_base_r50_s16_224_in21k and vit_base_r50_s16_384), both of them use resnet50 as a backbone, which makes the models quite heavy and hard to be embedded to mobile devices.
I tried myself to train the models like vit_base_r20_s16_224 from scratch, the model was hard to converge.
It would be far more exciting if you have the time to do this! Looking forward to your reply!

@mwsunshine you'll likely see that within the next week or so I've been told (weights won't be mine, but I will add them)

@mwsunshine you'll likely see that within the next week or so I've been told (weights won't be mine, but I will add them)

That will be MARVELOUS!
Could you please share some information about what backbone would be used by the way?
And are the models added along with next released version?

@mwsunshine you'll likely see that within the next week or so I've been told (weights won't be mine, but I will add them)
hi!
sorry to bother you again! Since there are more than 10 days passed by, are there any more information?
Many thanks!

They were just released but R20 didn't make the cut, R26 and a stem only R
Ti did
On Sun, Jun 20, 2021, 8:03 PM mwsunshine @.***> wrote:

@mwsunshine https://github.com/mwsunshine you'll likely see that within
the next week or so I've been told (weights won't be mine, but I will add
them)
hi!
sorry to bother you again! Since there are more than 10 days passed by,
are there any more information?
Many thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/688#issuecomment-864688378,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLQICDKGUWOUSJU42DX2ALTT2TYTANCNFSM46LS5TAQ
.


Add a /deploy environments command

This should show a list of environments that the repo has been deployed to.
/deploy environments for ejholmes/acme-inc
* production
* staging

We always did /where can i deploy <repo>, maybe something like /deploy where <repo>.

I like it.