Docs issue: component may be unmounted?

On these lines: https://github.com/rackt/react-router/blame/master/docs/Introduction.md#L238-L240
Can't the component be unmounted before the async network call returns?

Yes, but the point is that this is supposed to be a minimal example. You can deal with everything else in the // ....

I think you should default to something that's not buggy, like inverting the callback and making it a 'data present' type of rendering instead. E.g. using rx-react.
I built our app using examples like this, and then it started failing in real life. And there's no guidance on how to make it work, like in these docs.

This exactly matches a more detailed example from the React tutorial: http://facebook.github.io/react/docs/tutorial.html#updating-state
I hope you can tell from how we don't define fetchData and from how we don't define the rest of <Message> that this isn't even something you can follow. If you're following a guide on "getting URL parameters" to figure out how to do remote data fetching, you're doing something wrong.

Haha, yes, I obviously must be doing something wrong when all the guides show a bad way of coding it.
You've clearly not stopped for a second to look around you and consider why it may be that people write buggy code when the examples they follow are obviously buggy.
I don't know why the React docs do it the same way, but that doesn't make it right.
The pit of failure...

Btw I understand your point and it's a valid one. I just think correctness weighs in at a higher priority. And your lib rocks, so kudos to providing it free of charge. I can get a bit frustrated by getting issues closed with "not a bug" when it clearly is, and without discussion about it.

@haf Documenting the proper behavior of data fetching is best left to the data fetching libraries. This may not even be an async function. It's just a callback, as far as we can tell. The specifics of it are inconsequential. When a user has routing figured out and then starts to ask the question "How do I get data into my components?", then they can start to look into libraries for doing that and their respective best practices.

It's most likely ajax calls, so they're async in the vast majority of cases, though. Only in simple PoCs have I seen client-side-only data stores.
OT: Do you have a good link to a data store that doesn't assume both writes and reads need to go through it?

You can generally find good advice and help on Reactiflux or Stack Overflow.
There's not really more to discuss here – the example illustrates reading this.props.params. It's not "buggy" in any concrete sense unless you'd also consider calling into non-existent functions or not defining a render() function to be buggy. That's just not part of the point here.


simple db relations added

:-1:
Here are the changes I think we should make:
Shepherd.hasMany(User); // We don't need this. Shepherds don't own or control any users.
User.hasOne(Shepherd); // We don't need this. A user is not related to a shepherd.
Event.hasMany(Shepherd); // Don't need this since we have Shepherd.hasMany(Event). Event.hasMany(Shepherd) will add EventId to Shepherd, which we don't want.
Observation.hasOne(Event); // Don't need this since we have Event.hasMany(Observation). Observation.hasOne(Event) will add ObservationId to Event, which we don't want.
Observation.belongsTo(User); // I don't think we need this since we have User.hasMany(Observation). Isn't `belongsTo` only for 1-to-1 relationsips?

Thoughts?

Looks good!

:+1:


DrgnParser: Options should default to false

We only want to do the extra work if it's explicitly requested.
chaseRawPointers is already explicitly requested whenever it's needed and readEnumValues currently isn't needed at all.

Codecov Report

Merging #351 (8c407ce) into main (ac8ad26) will increase coverage by 0.00%.
Report is 6 commits behind head on main.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #351   +/-   ##
=======================================
  Coverage   68.03%   68.03%
=======================================
  Files         114      114
  Lines       11139    11143    +4
  Branches     1863     1863
=======================================
+ Hits         7578     7581    +3
  Misses       2594     2594
- Partials      967      968    +1

Files Changed
Coverage Δ

oi/type_graph/DrgnParser.h
87.50% <ø> (ø)

test/test_drgn_parser.h
100.00% <ø> (ø)

test/test_drgn_parser.cpp
99.35% <100.00%> (+0.01%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


kontena.yml reference improvements

separate sections for kontena/compose keys
misc fixes

So much clearer!

@nevalla ping

Definitely looks better now!


pageserver: skip waiting for logical size on shard >0

Problem
Shards with number >0 could hang waiting for await_initial_logical_size, as we don't calculate logical size on these shards.  This causes them to hold onto semaphore units and starve other tenants out from proceeding with warmup activation.
That doesn't hurt availability (we still have on-demand activation), but it does mean that some background tasks like consumption metrics would omit some tenants.
Summary of changes

Skip waiting for logical size calculation on shards >0
Upgrade unexpected code paths to use debug_assert!(), which acts as an implicit regression test for this issue, and make the info() one into a warn()

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Delete resumption code path apparently relied on the "unexpected" code path, needs investigation.

Delete resumption code path apparently relied on the "unexpected" code path, needs investigation.

I think it's all right, the error is:
AssertionError: First log error on pageserver_1: (594, "2024-05-13T18:22:00.935571Z  WARN attach{tenant_id=19908f9639a838f4482beedf286a8ee6 shard_id=0000 gen=00000002}: await_initial_logical_size: can't get semaphore cancel token, skipping\n")
Hint: use scripts/check_allowed_errors.sh to test any new allowed_error you add

Now with the hint/ad to try out check_allowed_errors. This is what I was thinking of putting these into two different PRs but failed to put it in words yesterday.


Fixes some typo issues

Fixes some typo and logic issues

Thank you for your help, I appreciate it!


Fatal error upon log in

Current Behavior
When I log as an existing user on a campaign pitch page I see a fatal error.
Desired Behavior
I should be logged into my account and taken to the action page.
Steps to Replicate

Go to thor.dosomething.org
Click on Explore Campaigns
Click Just Because
Taken to Pitch Page
Go to log in as an existing test user and received the following error "Error. Error message." (see screenshot below)

Why This Matters
Existing users can't log in.
Relevant Screenshots

Possibly related to https://github.com/DoSomething/phoenix/commit/c8cdad599a5938381b44600fcc905e23688ab036?
@sergii-tkachenko mind taking a look?

Yes, I can do that.

So attempted fix #5925 didn't help.
@mikefantini Could you please find the same flow on staging?

Note, I'm able to reproduce the bug directly without going through Explore Campaigns. It also doesn't matter if I have a signup for this campaign.

@sergii-tkachenko I don't believe it's just happening on Just Because based on @namimody's comment in slack re: GGW https://dosomething.slack.com/archives/phoenix/p1449605593002216

Good Find. So we need to found out what's common between Just Because and Grandparents Gone Wired.

@sergii-tkachenko I just recreated this on prod with my admin log in on https://www.dosomething.org/us/campaigns/reelwomen?source:

I can't reproduce locally even with thor DB...

Just signed in to prod with no errors:

@sergii-tkachenko is there any way to know how often this is occurring on prod?

402 times since this morning :sob:

Updated description because happening in prod as well.

@sergii-tkachenko are you able to see how often this has occurred since we deployed #5928?

Nope, we're good. 0 matches.
Technical note: sudo grep "Dec  9 12:50:.." /var/log/syslog | grep drupal_session_regenerate | wc -l


Broken Link URL

[Enter feedback here]
The correct URL for link "The building blocks of Microsoft 365 hybrid." should be https://learn.microsoft.com/en-us/sharepoint/hybrid/the-building-blocks-of-office-365-hybrid

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

ID: 351d4d9a-7c97-ee21-fe87-1071ae099717
Version Independent ID: 818f8e43-033e-868c-6c66-39fc7840f65d
Content: SharePoint authentication - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/authentication.md
Service: sharepoint-online
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

Thanks for reporting!

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Emiting Events from Android in New Arch + Bridgeless + interop layer

Description
hi! I was directed from https://github.com/reactwg/react-native-new-architecture/discussions/8#discussioncomment-9223240 to open an issue. I'm looking at RNTP's interop layer compatibility, and there is an issue where the module's hooks using event listeners (with a NOBRIDGE log tag?) are not firing, but listeners registered via AppRegistry.registerHeadlessTask (without the NOBRIDGE log tag?) are. Would anyone share insight on emitting events? Thank you very much in advance
RNTP hooks registering event listeners: here and here
registerHeadlessTask:
logs
Steps to reproduce

yarn, yarn android
click play
RNTP's hook events are not fired; headlessJs are, without NOBRIDGE

React Native Version
0.74
Affected Platforms
Runtime - Android
Areas
Bridgeless - The New Initialization Flow
Output of npx react-native info
info Fetching system and libraries information...
(node:29688) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
System:
  OS: Windows 11 10.0.22621
  CPU: "(12) x64 AMD Ryzen 5 5600 6-Core Processor              "
  Memory: 12.81 GB / 47.91 GB
Binaries:
  Node:
    version: 21.7.2
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.22
    path: C:\Program Files\nodejs\yarn.CMD
  npm:
    version: 10.5.0
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
  Windows SDK:
    AllowDevelopmentWithoutDevLicense: Enabled
    AllowAllTrustedApps: Enabled
    Versions:
      - 10.0.17763.0
      - 10.0.19041.0
      - 10.0.22000.0
      - 10.0.22621.0
IDEs:
  Android Studio: AI-241.14494.158.2411.11678081
  Visual Studio:
    - 17.5.33530.505 (Visual Studio Community 2022)
Languages:
  Java: Not Found
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.0
    wanted: 0.74.0
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Stacktrace or Logs
by adding a console.log within https://github.com/doublesymmetry/react-native-track-player/blob/6c4a3bd7d47c6ba8c85db4c1d031dc904bb0cd1a/src/trackPlayer.ts#L77 (int eventname count) I obtain these various event count logs with and without NOBRIDGE. NOBRIDGE events never fire.

(NOBRIDGE) LOG  Bridgeless mode is enabled
(NOBRIDGE) LOG  Running "RNTPExampleNewArch" with {"rootTag":241,"initialProps":{},"fabric":true}
(NOBRIDGE) LOG  deb playback-progress-updated
(NOBRIDGE) LOG  0 playback-progress-updated count
LOG  0 remote-pause count
LOG  0 remote-play count
LOG  0 remote-next count
(NOBRIDGE) LOG  getInitialURL null
LOG  0 remote-previous count
LOG  0 remote-jump-forward count
LOG  0 remote-jump-backward count
LOG  0 remote-seek count
LOG  0 remote-duck count
LOG  0 playback-queue-ended count
LOG  0 playback-active-track-changed count
LOG  0 playback-progress-updated count
LOG  0 playback-play-when-ready-changed count
LOG  0 playback-state count
LOG  0 playback-metadata-received count
LOG  0 metadata-chapter-received count
LOG  0 metadata-timed-received count
LOG  0 metadata-common-received count
LOG  1 playback-metadata-received count
LOG  Event.PlaybackProgressUpdated {"buffered": 1626.357, "duration": 0, "position": 1575.25, "track": 5}
(NOBRIDGE) LOG  deb playback-active-track-changed
(NOBRIDGE) LOG  0 playback-active-track-changed count
(NOBRIDGE) LOG  0 playback-state count
(NOBRIDGE) LOG  0 playback-play-when-ready-changed count
(NOBRIDGE) LOG  1 playback-state count
LOG  Event.PlaybackProgressUpdated {"buffered": 1657.469, "duration": 0, "position": 1577.249, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1659.454, "duration": 0, "position": 1579.249, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1661.466, "duration": 0, "position": 1581.251, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1663.451, "duration": 0, "position": 1583.252, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1665.462, "duration": 0, "position": 1585.251, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1667.448, "duration": 0, "position": 1587.252, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1669.459, "duration": 0, "position": 1589.251, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1671.444, "duration": 0, "position": 1591.247, "track": 5}
LOG  Event.PlaybackProgressUpdated {"buffered": 1673.456, "duration": 0, "position": 1593.251, "track": 5}

Reproducer
https://github.com/lovegaoshi/RNTPExampleNewArch
Screenshots and Videos
No response

Relevant PR also https://github.com/doublesymmetry/react-native-track-player/pull/2290

I can confirm by opting out of bridgeless with load(bridgelessEnabled = false), everything works as intended.
RNTP also has a notification no longer working issue as mentioned in the PR mentioned above; this is very puzzling to me because the notification manager component should be purely native. This issue is also "fixed" by opting out of the bridgeless mode.

I can confirm by opting out of bridgeless with load(bridgelessEnabled = false), everything works as intended.

Thanks for the confirmation. I believe this has to do with Headless mode not going through the bridgeless initialization mode. We'll look into it and get back to you.

@cortinico any update or ETA on this?

Sorry I haven't had the time to look into this as we had several tasks with higher priority to look into first. We'll get back to it once we have more free time.
In the meantime, any investigation from the community is more than welcome

@contactsimonwilson @lovegaoshi I spent some time investigating this.
The outcome is that AppRegistry.registerHeadlessTask is broken on Bridgeless mode for Android. The reason why it's broken is because of Headless Tasks are effectively attempting to create a bridge instance (that's why you see BRIDGE on console).
The problem is here:
https://github.com/facebook/react-native/blob/33aa83a0e6f63d3d50d4803074ad9e2243439100/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java#L109
We would have to extend the logic there to don't use ReactInstanceManager if bridgeless is enabled, and instead use ReactHost to start a background task.
I've also realized that the library RNTP is in a un-maintained state (maintainers are not responding to PR such as https://github.com/doublesymmetry/react-native-track-player/pull/2290
So I'm a bit afraid that even if we end up fixing this, the library won't be releasing a new version in the future.
We should definitely fix Headless tasks in Bridgeless mode, but we're also potentially considering to deprecate this API as it's not widely used and it's probably affected by numerous bugs (for reference, we don't use it internally at Meta at all).
I'm curious to hear more use cases for .registerHeadlessTask to understand how important is this fix to do.

hi! really appreciate the work investigating this!
rntp uses headlesstaskservice to provide background playback. while i do
not know the details, rntp made the migration to use headless instead of
extending to MediaLibraryService in 2019. also other background libraries
like react-native-background-timer and react-native-background-actions
depend on headlessJsTaskService. would there be an alternative if this is
removed?
as far I'm aware, rntp is the definitive react native music library with a
notification service. while others are recently providing similar
notification functionalities (expo av, rnvideo), rntp has been doing it
since 2020? and it is way too much migration effort to transition into
other libraries for many, including me. plus, rntp is the only music
library that i know that integrates android auto and carplay. i do agree
the maintenance has been lacking recently but I'm willing to maintain the
android part if necessary. appreciate the work as always!
On Wed, Jun 12, 2024, 7:37 AM Nicola Corti @.***> wrote:

@contactsimonwilson https://github.com/contactsimonwilson @lovegaoshi
https://github.com/lovegaoshi I spent some time investigating this.
The outcome is that AppRegistry.registerHeadlessTask is broken on
Bridgeless mode for Android. The reason why it's broken is because of
Headless Tasks are effectively attempting to create a bridge instance
(that's why you see BRIDGE on console).
The problem is here:
https://github.com/facebook/react-native/blob/33aa83a0e6f63d3d50d4803074ad9e2243439100/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java#L109
We would have to extend the logic there to don't use ReactInstanceManager
if bridgeless is enabled, and instead use ReactHost to start a background
task.
I've also realized that the library RNTP is in a un-maintained state
(maintainers are not responding to PR such as
doublesymmetry/react-native-track-player#2290
https://github.com/doublesymmetry/react-native-track-player/pull/2290
So I'm a bit afraid that even if we end up fixing this, the library won't
be releasing a new version in the future.
We should definitely fix Headless tasks in Bridgeless mode, but we're also
potentially considering to deprecate this API as it's not widely used and
it's probably affected by numerous bugs (for reference, we don't use it
internally at Meta at all).
I'm curious to hear more use cases for .registerHeadlessTask to
understand how important is this fix to do.
—
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/44255#issuecomment-2163183638,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZMOVVS5TUM2PMN2AV2TLNTZHBMK5AVCNFSM6AAAAABGY3XVSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRTGE4DGNRTHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Right now I'm using react-native-background-actions in several projects but the most impacted one is a monitoring app for PEVs (VESC-based onewheels specifically).
I use react-native-background actions with react-native-ble-plx, expo-location and expo-av/expo-speech to provide a critical safety monitoring system with data logging and audio/haptic alerts while riding. In its current state, I have a js task that does all that and will stay in the background indefinitely on iOS and Android, even while a device is locked.
I would be interested to hear about alternatives for library maintainers. This is the last thing holding me back from upgrading my projects as I can't find other libraries that will work with the new arch and have the same functionality.

I've put up a draft PR that should fix the issue. Because it is hard to create foreground tasks in new android and test this I will try to build the react-native-track-player test app in bridgeless with patch applied soon (probably during the weekend). If you have capacity @contactsimonwilson to check it on your own with the RN PR let me know :)

thank you @robik ! I think I applied the patch right but I'm still seeing headlessJsTask going through the bridge, maybe I'm just doing it wrong. NOBRIDGE tag is not applied as in below.
  I think I applied the patch right but I'm still seeing headlessJsTask going through the bridge, maybe I'm just doing it wrong. NOBRIDGE tag is not applied as in below.

You'll have to enable build from source:
https://reactnative.dev/contributing/how-to-build-from-source
As Android is prebuilt and the patches for .java files are ignored

I've put up a draft PR that should fix the issue. Because it is hard to create foreground tasks in new android and test this I will try to build the react-native-track-player test app in bridgeless with patch applied soon (probably during the weekend). If you have capacity @contactsimonwilson to check it on your own with the RN PR let me know :)

Thanks, I'll try building from source in the next few days.

I've struggled a couple of times to get a local build without success. Any chance you would be able to provide a build of your PR branch?

I've struggled a couple of times to get a local build without success. Any chance you would be able to provide a build of your PR branch?

Sadly that's not easily possible as artifacts needs to be published to a repository for this to work. @robik are you blocked on external testing here?
As if we merge your changes, @contactsimonwilson and @lovegaoshi will be able to test it with the latest nightly

@cortinico Hey, I left it as draft because I did not test it (it is more complicated than I thought), because there are some limitations on the usage of headless tasks in android. So it's best to test with the library directly. Unfortunately, I didn't have any time to test it.

Happy to test as soon as it's in a nightly build 👍

Happy to test as soon as it's in a nightly build 👍

It's on the latest nightly:
https://www.npmjs.com/package/react-native/v/0.76.0-nightly-20240710-9a1ae97c2

thx! though i cant build with 0.76.0-nightly-20240710-9a1ae97c2, i have:

* Where:
Script<EMAIL_ADDRESS>line: 411

* What went wrong:
A problem occurred evaluating script.
> Command '[node, /bin/sh: 1: npm: not found
<EMAIL_ADDRESS>config, --platform, android]' failed with exit code 1.

where 0.75.0-nightly-20240618-5df5ed1a8 would get me to https://github.com/facebook/react-native/issues/45204 (pass this error)
any help apprecaited!


Rubocop & Foodcritic fixes

After bumping versions of foodcritic & rubocop, there were a number of things which needed cleaned up. All rspec tests still pass with these changes.

I didn't bump the version number, but it would be great if we could get a new minor release. The removal of anonymous users and the test DB falls into the 'best practices' category and would be nice to have in an official release!

Thx a lot, i will bum the version soon ;)


Where is the 'Find-the-Right-Operator Widget'  a/o 8/23/2018?

A/O 8/23/2018, I've seen this wizard hailed on youtube (i.e.: https://www.youtube.com/watch?v=ou3oRHaUpQA) and in stackoverflow, however, when I go to the RxJS site at http://reactivex.io/rxjs , I'm redirected to https://rxjs-dev.firebaseapp.com/ which is a BETA site.  i'm just learning this library while working on an existing application and after hearing so much about it I wanted to use it.
Where is it?
Thanks.

Hi there, we are currently trying to develop this feature for the new docs and update it to the new operators. To be honest I have no clue where it used to be in the old docs.... sorry


Allow to derive custom SockaddrLike types

Atm, the SockaddrLike trait requires that the underlying object implements the SockaddrLikePriv trait.  This trait is private and makes it impossible to define a custom type for SockaddrLike.
Please remove this constraint resp. make this type public.
Background:  I am implementing an application which supports both IPv4 and IPv6.  Internally, &dyn SockaddrLike is used at several places for addresses and I would like to pass them e.g. to sendmsg.
With the current, restricted api, I am forced to convert the &dyn SockaddrLike to an expensive SockaddrStorage
fn sockaddrlike_to_storage(addr: &dyn SockaddrLike) -> SockaddrStorage
{
    unsafe { SockaddrStorage::from_raw(addr.as_ptr(), Some(addr.len())) }.unwrap()
}

With a public SockaddrLike, a more lightweight proxy could be used
struct SockaddrProxy<'a>(&'a dyn SockaddrLike);

impl <'a> SockaddrLike for SockaddrProxy<'a> {
    fn as_ptr(&self) -> *const libc::sockaddr {
        self.0.as_ptr()
    }
// ...
}

We can't make SockaddrLikePriv public, because using its as_mut_ptr method could result in violating some of Nix's internal invariants, leading to crashes and probably UB too.  Might I suggest that for your application, you use an enum or union type like this?
union SockaddrProxy {
   sin: SockaddrIn,
   sin6: SockaddrIn6
}

fn as_sockaddr_like(&self) -> &SockaddrLike { ... }

will not work because sendmsg requires S to be Sized.  E.g. trying to use it
    fn sendmsg_sync(&self, iov: &[IoSlice<'_>], addr: &dyn SockaddrLike,
		    flags: socket::MsgFlags) -> nix::Result<()>
    {
	//let addr = sockaddrlike_to_storage(addr);

	match socket::sendmsg(self.fd, iov, &[], flags, Some(addr)) {

fails with
167  |     match socket::sendmsg(self.fd, iov, &[], flags, Some(addr)) {
     |           ---------------                           ^^^^^^^^^^ doesn't have a size known at compile-time
     |           |
     |           required by a bound introduced by this call
     |
     = help: the trait `Sized` is not implemented for `dyn SockaddrLike`

Well, that begs the question.  What if the signature were fn as_sockaddr_like(&self) -> &SockaddrLike + Sized { ... }?

    fn sendmsg_sync(&self, iov: &[IoSlice<'_>], addr: &(dyn socket::SockaddrLike + Sized),
		      flags: socket::MsgFlags) -> nix::Result<()>
    {
        ...

will fail with
147 |     fn sendmsg_sync_x(&self, iov: &[IoSlice<'_>], addr: &(dyn socket::SockaddrLike + Sized),
    |                                                               --------------------   ^^^^^ additional non-auto trait
    |                                                               |
    |                                                               first non-auto trait

Ok, I'm convinced.  Would you care to submit a PR?  I think the as_mut_ptr method can just be moved into SockaddrLike, if we also make it unsafe.

I recently took over the socketcan crate and hit this same problem of the private SockaddrLikePriv for implementing a wrapper around sockaddr_can.
In this case, though, for completeness, would a solution be to add a CanAddr to nix to wrap libc::sockaddr_can?


Using bottom, right for position and percent values

Hello!
How can i set initialPosition like

initialPosition: {
"bottom": '10%',
"right": '10vw'
}

you can't, it should be number only

It's so bad. I will try to make it and commit

It's so bad. I will try to make it and commit


[1.18.2] Livingwood Log is not being recognised as part material

materialis-1.18.2-2.5.3.jar
TConstruct-1.18.2-<IP_ADDRESS>.jar
The livingwood material is only accepting the twig, but not logs, or planks.

Logs are being seen as normal wood

fixed in materialis 2.6.0


bumping to spark 1.6.1

I've just updated spark version to 1.6.1. Since there is no, guide lines for contributions. I've just tested with mvn test which ended with success

INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Distributed DBSCAN on Apache Spark 0.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ dbscan-on-spark_2.10 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /media/eliasah/Transcend/github/eliasah/dbscan-on-spark/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ dbscan-on-spark_2.10 ---
[INFO] No sources to compile
[INFO]
[INFO] --- scala-maven-plugin:3.2.0:compile (default) @ dbscan-on-spark_2.10 ---
[WARNING]  Expected all dependencies to require Scala version: 2.10.4
[WARNING]  com.irvingc.spark:dbscan-on-spark_2.10:0.2.0-SNAPSHOT requires scala version: 2.10.4
[WARNING]  com.twitter:chill_2.10:0.5.0 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-remote_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-actor_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-slf4j_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  org.apache.spark:spark-core_2.10:1.6.1 requires scala version: 2.10.5
[WARNING] Multiple versions of scala libraries detected!
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ dbscan-on-spark_2.10 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ dbscan-on-spark_2.10 ---
[INFO] No sources to compile
[INFO]
[INFO] --- scala-maven-plugin:3.2.0:testCompile (default) @ dbscan-on-spark_2.10 ---
[WARNING]  Expected all dependencies to require Scala version: 2.10.4
[WARNING]  com.irvingc.spark:dbscan-on-spark_2.10:0.2.0-SNAPSHOT requires scala version: 2.10.4
[WARNING]  com.twitter:chill_2.10:0.5.0 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-remote_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-actor_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  com.typesafe.akka:akka-slf4j_2.10:2.3.11 requires scala version: 2.10.4
[WARNING]  org.apache.spark:spark-core_2.10:1.6.1 requires scala version: 2.10.5
[WARNING] Multiple versions of scala libraries detected!
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ dbscan-on-spark_2.10 ---
[INFO]
[INFO] --- scalatest-maven-plugin:1.0:test (test) @ dbscan-on-spark_2.10 ---
Discovery starting.
Discovery completed in 361 milliseconds.
Run starting. Expected test count is: 9
LocalDBSCANArcherySuite:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
16/06/10 17:20:16 DEBUG LocalDBSCANArchery: total: 3

should cluster
DBSCANSuite:
16/06/10 17:20:17 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/06/10 17:20:17 WARN Utils: Your hostname, AH-PC resolves to a loopback address: <IP_ADDRESS>; using <IP_ADDRESS> instead (on interface eth1)
16/06/10 17:20:17 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
16/06/10 17:20:24 DEBUG LocalDBSCANArchery: total: 3
should cluster
16/06/10 17:20:26 DEBUG DBSCAN: Found partitions:
16/06/10 17:20:26 DEBUG DBSCAN: (DBSCANRectangle(-2.4000000953674316,0.6000000238418579,2.4000000953674316,2.4000000953674316),243)
16/06/10 17:20:26 DEBUG DBSCAN: (DBSCANRectangle(-2.4000000953674316,-0.6000000238418579,2.4000000953674316,0.6000000238418579),225)
16/06/10 17:20:26 DEBUG DBSCAN: (DBSCANRectangle(-0.6000000238418579,-2.4000000953674316,2.4000000953674316,-0.6000000238418579),142)
16/06/10 17:20:26 DEBUG DBSCAN: (DBSCANRectangle(-2.4000000953674316,-2.4000000953674316,-0.6000000238418579,-0.6000000238418579),139)
16/06/10 17:20:26 WARN ClosureCleaner: Expected a closure; got org.apache.spark.mllib.clustering.dbscan.DBSCANPoint$
16/06/10 17:20:26 DEBUG DBSCAN: About to find adjacencies
16/06/10 17:20:26 INFO LocalDBSCANNaive: About to start fitting
16/06/10 17:20:26 INFO LocalDBSCANNaive: About to start fitting
16/06/10 17:20:26 INFO LocalDBSCANNaive: found: 1 clusters
16/06/10 17:20:26 INFO LocalDBSCANNaive: found: 3 clusters
16/06/10 17:20:26 INFO LocalDBSCANNaive: About to start fitting
16/06/10 17:20:26 INFO LocalDBSCANNaive: found: 2 clusters
16/06/10 17:20:26 INFO LocalDBSCANNaive: About to start fitting
16/06/10 17:20:26 INFO LocalDBSCANNaive: found: 1 clusters
16/06/10 17:20:26 DEBUG DBSCAN: About to find all cluster ids
16/06/10 17:20:26 DEBUG DBSCAN: Connected clusters Set((1,1), (3,1), (2,1))
16/06/10 17:20:26 DEBUG DBSCAN: Connected clusters Set((1,3), (0,1))
16/06/10 17:20:26 DEBUG DBSCAN: Connected clusters Set((2,2), (1,2))
16/06/10 17:20:26 DEBUG DBSCAN: Global Clusters
16/06/10 17:20:26 DEBUG DBSCAN: ((3,1),1)
16/06/10 17:20:26 DEBUG DBSCAN: ((1,1),1)
16/06/10 17:20:26 DEBUG DBSCAN: ((1,3),2)
16/06/10 17:20:26 DEBUG DBSCAN: ((2,2),3)
16/06/10 17:20:26 DEBUG DBSCAN: ((0,1),2)
16/06/10 17:20:26 DEBUG DBSCAN: ((1,2),3)
16/06/10 17:20:26 DEBUG DBSCAN: ((2,1),1)
16/06/10 17:20:26 INFO DBSCAN: Total Clusters: 7, Unique: 3
16/06/10 17:20:26 DEBUG DBSCAN: About to relabel inner points
16/06/10 17:20:26 DEBUG DBSCAN: About to relabel outer points
16/06/10 17:20:26 DEBUG DBSCAN: Done
dbscan
EvenSplitPartitionerSuite:
should find partitions
should find two splits
DBSCANGraphSuite:
should return connected
should return doubly connected
should return none for vertex
should return none for unknown
Run completed in 11 seconds, 297 milliseconds.
Total number of tests run: 9
Suites: completed 5, aborted 0
Tests: succeeded 9, failed 0, canceled 0, ignored 0, pending 0
All tests passed.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.300 s
[INFO] Finished at: 2016-06-10T17:20:27+02:00
[INFO] Final Memory: 26M/1216M
[INFO] ------------------------------------------------------------------------

Is that ok with you ?

Thanks for doing this, sorry for the delay in answering.

It's ok don't mention it ! I was just a little worried that the project was inactive. I'm listing it here :)


Custom Firebase Exceptions

Includes @b8ne's custom exceptions for Firebase HTTP errors (see issue #15) and @jquaglio's Push Notification Pull Request

@rlamasb

@rlamasb I am using the nuget package version 0.3.6 however it doesn't have the Firebase exception in the library code. I'm new to this. How can I make use of the new exceptions?


Create accessible version of guidelines for moderators

Summary
It would be great to put together an onboarding pack for moderators for the AutSPACEs platform. It could be educational and provide support. One option might be to use Netlify, or it could be a pdf or powerpoint. Would be great to have something in a fun accessible format, with pics and diagrams
Details
I rekcon the onboarding pack should contain:

A welcome and thank you
Our code of conduct
Guidelines for moderators
Support and advice for encountering difficult stories
Example cases (red, amber, green)
Some tests to check judgement aligns

Working on this here: https://docs.google.com/document/d/1MoGgke7SVV5w8TX-l0y41mBx7S9gFe_eFJKiz3faWg4/edit#heading=h.pwiv9cbkwmo6


math: Napierian logarithm and exponential

Hello,
I have somes math functions using Napierian logarithm and Exponential.
I use the math tag but unfortunately,
exp() and ln() doesn't works.
Thanks you.

I'm a patreon, and I approve this suggestion 👍

math tag is not supported, it's there more as a joke than for real usage.
Use the math related tags, like element.add and such.
Relevant here is element.log and element.power tags to achieve your need.

Sorry, seems my algo had an error, the ln and e as implemented as well.
 * An evaluator that is able to evaluate arithmetic expressions on real numbers.
 *
Built-in operators:

 *
+: Addition

 *
-: Subtraction

 *
-: Unary minus

 *
*: Multiplication

 *
/: Division

 *
^: Exponentiation

 *
%: Modulo

 *

 * Built-in functions:

 *
abs: absolute value

 *
acos: arc cosine

 *
asin: arc sine

 *
atan: arc tangent

 *
average: average of arguments

 *
ceil: nearest upper integer

 *
cos: cosine

 *
cosh: hyperbolic cosine

 *
floor: nearest lower integer

 *
ln: natural logarithm (base e)

 *
log: base 10 logarithm

 *
max: maximum of arguments

 *
min: minimum of arguments

 *
round: nearest integer

 *
sin: sine

 *
sinh: hyperbolic sine

 *
sum: sum of arguments

 *
tan: tangent

 *
tanh: hyperbolic tangent

 *
random: pseudo-random number (between 0 and 1)

 *

 * Built-in constants:

 *
e: Base of natural algorithms

 *
pi: Ratio of the circumference of a circle to its diameter

 *

Source: https://github.com/DenizenScript/Denizen-Core/blob/master/src/main/java/net/aufdemrand/denizencore/utilities/javaluator/DoubleEvaluator.java

@Oruss7 again... DO NOT USE THAT.


Fix compilation

Changes

This fixes a few hundred compilation errors when using deno compile
Removed CloudRunner model code. This should be added back in a later step

Should be able to compile a binary with deno compile --allow-read --allow-write --allow-env --allow-run --output gameci.exe src/index.ts.
Checklist

[x] Read the contribution guide and accept the code of conduct
[x] Readme (updated or not needed)
[x] Tests (added, updated or not needed)

Codecov Report

Merging #36 (6b2728e) into main (caf5f43) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 6b2728e differs from pull request most recent head 35fc9f1. Consider uploading reports for the commit 35fc9f1 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff            @@
##              main       #36   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            5         5
=========================================
  Hits             5         5


Allow markdown/myst-markdown code blocks to be executed in interactive window.

Feature: Notebook Editor, Interactive Window, Python Editor cells
Description
Right now, we can only run the interactive window with a standard .py file with markdown commented out. It would be useful to have a way to associate the interactive window with a standard markdown file with code cells, so that those code cells can be run even though it's not a .py file.
For example:
<<---- Begin myfile.md
My title
Some text I'm writing
import this

print("hello")

------->> End myfile.md
The code cell in this case would have the "Run Cell" prompts appear and you can send that text to the interactive window, even though it's not a .py file.
This would be useful for those that use reproducible workflows with pweave or codebraid to be able to run their code before converting to PDF.
Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer, @joyceerhl

Hi! I hope you had a great new year. I wanted to circle back and see if this was anyone's radar at all, but I understand if the team is busy working on other things!

Hi! I hope you had a great new year. I wanted to circle back and see if this was anyone's radar at all, but I understand if the team is busy working on other things!

@amichuda it's not on our radar at the moment, but we welcome PRs if you want to take a crack at it. I think it would be something like a setting that determines regexes for cells for different languages.
Right now we have these two settings:
"jupyter.codeRegularExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])"
"jupyter.markdownRegularExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"

It think if we wanted to make it more generic, we'd need one of these settings per language. Maybe something like we do for the variable queries:
"jupyter.codeLensExpressions" : [
   {
     "extension": ".py",
     "language": "python",
     "codeExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])",
     "markdownExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"
   },
   {
     "extension": ".md",
     "language": "markdown",
     "codeExpression": "```",
     "markdownExpression": ""
   }
]

@amichuda it's not on our radar at the moment, but we welcome PRs if you want to take a crack at it. I think it would be something like a setting that determines regexes for cells for different languages.
Right now we have these two settings:
"jupyter.codeRegularExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])"
"jupyter.markdownRegularExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"

It think if we wanted to make it more generic, we'd need one of these settings per language. Maybe something like we do for the variable queries:
"jupyter.codeLensExpressions" : [
   {
     "extension": ".py",
     "language": "python",
     "codeExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])",
     "markdownExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"
   },
   {
     "extension": ".md",
     "language": "markdown",
     "codeExpression": "```",
     "markdownExpression": ""
   }
]

Sorry, I'm new to the typescript/VS code extension game, so I'm trying to make sense of this.
From what I'm thinking, would this involve adding options to the package.json and then changing the regex in src/client/datascience/cellMatcher.ts. Does that sound right?
What I'm not sure about though is whether opening an md file, even with these new code lenses would allow both markdown intellisense/autocomplete and python intellisense/autocomplete in one file?
I think that might be the real crux of the issue, as wouldn't be possible to add another OR clause into markdownRegularExpression and codeRegularExpression to allow for the new syntax?

What I'm not sure about though is whether opening an md file, even with these new code lenses would allow both markdown intellisense/autocomplete and python intellisense/autocomplete in one file?

Intellisense and autocomplete would not be impacted by these code lenses. In fact the file would only support markdown intellisense. Perhaps intellisense isn't clear in this context. Intellisense generally means hovering over text in a document or typing in a document and getting a popup.
The ask you have here is really about this:

Just the 'Run cell' code lenses at the top of each cell.
If you're looking for intellisense support and more in the python blocks, that's a whole different issue. It would probably require the language server to understand markdown files.
However you're correct in that the cellMatcher.ts file would have to be changed for code lenses. It would be there that you'd check the language of a file and then apply the appropriate regex from the user's settings.json:
"jupyter.codeLensExpressions" : [
   {
     "extension": ".py",
     "language": "python",
     "codeExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])",
     "markdownExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"
   },
   {
     "extension": ".md",
     "language": "markdown",
     "codeExpression": "```",
     "markdownExpression": ""
   }
]

For example, if the user's file is a .py file, you'd apply the python codeExpression regex to search for code cells and the markdownExpression to search for markdown cells.
If the user's file was a .md file, you'd apply the codeExpression regex for the .md section.

Great, thank you! I think I'm on the right track, and excuse the noob question... but is there an easy way to get a string of the filename to check for the extension?

Great, thank you! I think I'm on the right track, and excuse the noob question... but is there an easy way to get a string of the filename to check for the extension?

If you have the TextDocument object, it has a fileName property (and a URI property).
I recommend reading up on the VS code API here:
https://code.visualstudio.com/api/references/vscode-api
We wrap a bunch of that in our code but the concepts are pretty much the same.
The property I'm mentioning is here:
https://code.visualstudio.com/api/references/vscode-api#TextDocument

Perfect! Thank you for that. Now that I have a clearer idea of how the software is set-up, I wanted to run this by you. As it stands, to do the language check in https://github.com/microsoft/vscode-jupyter/blob/main/src/client/datascience/cellMatcher.ts, wouldn't that require adding language specific properties in IJupyterSettings, https://github.com/microsoft/vscode-jupyter/blob/2ab1a20fda9d042828bf3f36f291cdf7387c7745/src/client/common/types.ts#L110 , and then all the way through to JupyterSettings. Would it make more sense to do the language check in https://github.com/microsoft/vscode-jupyter/blob/main/src/client/common/configuration/service.ts and apply it to the correct setting? Would that make it easier to extend for the user?

Would it make more sense to do the language check in https://github.com/microsoft/vscode-jupyter/blob/main/src/client/common/configuration/service.ts and apply markdownRegularExpression and codeRegularExpression based on the language? Would that make it easier to extend for the user?

No the configuration service doesn't know what language is current. That changes per file.

Or is the idea here that the extension should implement language by language and JupyterSettings should have markdown, python (and any other languages later) specific entries?

Yes this is what I was suggesting above. We should have a per language setting for these regex patterns. We do this already for variable query setting.

So I think i have a working prototype of this, but there are two issues (again, apologies for the noob questions)

Some tests that were meant to test the regular expressions now don't work because they call markdownRegularExpressions and codeRegularExpressions which don't exists because they're now part of the codeLensExpressions array.  Should I change the tests or leave them be?
When switching to python everything works as it should; the "Run Cell" code lenses show up and creating new cells is possible. When switching to a markdown file, however, the right-click menu to Run the cells, works, but the code lenses don't show up and there is no creation of new cells. Could this be because of hardcoded logic to only run things when the file is python. I can think of various places this is the case, from keyboard commands (editorLangId == python) and the PYTHON and PYTHON_ALL_FILES variables in constants.ts. Is that possible?

Some tests that were meant to test the regular expressions now don't work because they call markdownRegularExpressions and codeRegularExpressions which don't exists because they're now part of the codeLensExpressions array. Should I change the tests or leave them be?

You should fix the tests. We'd like to have tests covering your new addition as well as our old stuff.

When switching to python everything works as it should; the "Run Cell" code lenses show up and creating new cells is possible. - When switching to a markdown file, however, the right-click menu to Run the cells works, but the code lenses don't show up and there is no creation of new cells. Could this be because of hardcoded logic to only run things when the file is python? I can think of various places this is the case, from keyboard commands (editorLangId == python) and the PYTHON and PYTHON_ALL_FILES variables in constants.ts. Is that possible?

Yeah sorry, I forgot to mention you need to register a code lens provider for the markdown extension too. I think it should also be based on the new settings:
"jupyter.codeLensExpressions" : [
   {
     "extension": ".py",
     "language": "python",
     "codeExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])",
     "markdownExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)"
   },
   {
     "extension": ".md",
     "language": "markdown",
     "codeExpression": "```",
     "markdownExpression": ""
   }
]

Meaning the registration should iterate through the array here and specify a code lens provider for each entry.

Okay, understood. Can you point me in the right direction on how to go about registering the new provider? I take it that the one being used now is CodeLensProvider from the vscode api?

The code lens provider looks like it's registered here:
https://github.com/microsoft/vscode-jupyter/blob/b368ea9326c13d6497e0f070d89d810d4ff86416/src/client/datascience/datascience.ts#L44
Looking at that code, I think it should probably be restructured but I think we can do that after you submit. I would just do something like this:
   const codeLensExpressions = this.configuration.getSettings(undefined).codeLensExpresions;
   codeLensExpresions.forEach(c => {
       this.extensionContext.subscriptions.push(
            vscode.languages.registerCodeLensProvider({ language: c.language }, this.dataScienceCodeLensProvider)
        );
   }

I think that would work. It will register a code lens provider for every language specified in the settings.

closing in favor of https://github.com/microsoft/vscode-jupyter/issues/273


Show a few alternative versions of the image

Problem
Some images data can have different versions or layers (color channels, MRI levels, etc), so it would be useful to switch between them for better object detection.
Solution
data: allow $image to be an array of images; in this case show gallery with these images and allow to switch between them. Config left the same as usual

Build for LS 1.0
build b8c8dd7950dd637c25575cd510b2863996a1425e.zip

The proposed feature would be a very valuable addition when working with multi-modal images.
@makseq Any instructions on how to use the build you linked above with an existing label-studio installation?

@quantumdot  Here is building instructions I used to make it work with LS 1.0

Create new Anaconda env (`conda create -n ls python=3.8)
Pull LS from GitHub git clone https://github.com/heartexlabs/label-studio.git
Replace css and js files with files from another build. (Attached as zip in makseq comment) label-studio/label_studio/frontend/dist/lsf
Install LS. pip install .
Run python ./label_studio/manage.py collectstatic without this it wouldn't work
Set env params: export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true & export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT="/your/path"
Launch server and verify that everything works normally. label-studio start

Hi @zakajd,
Thanks for your reply, but I am having trouble to get this to work.

I cloned down the current master version of label-studio (1.0.2)
Copy the static/js/* and /static/css/* files from the linked zip archive above to label-studio/label_studio/frontend/dist/lsf
Run pip install . and then run python ./label_studio/manage.py collectstatic

After I start the label-studio server, everything looks fine (e.x. project configuration, organization management), but then when I go to the labeling interface for a project, I see a mostly (except top status bar) blank screen. Checking the console, I get a 404 for /dm/js/main.js?v= and a rejected request (due to mismatching MIME) for /dm/css/main.css?v=. Sometimes I can trigger an error such as Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
I tried with the earlier label-studio v1.0.0, but the process fails with a key error for collectstatic when running your step 5.


Switch to CryptoCompare API

Closing this for now, as the new coinmarketcap API may be able to provide cryptocurrency logos.

The coinmarketcap severely limits data being pulled. Putting this back on the table.


Update runner startup to use new schema repo

What is the context of this PR?
Updated the runner load process to load in schema dependencies from the new eq-questionnaire-schemas repo to /schemas. There is now no "build" step in runner. This should hopefully reduce times on runner due the dependency on jsonnet now being removed and translation scripts being held there too. Additionally, the feature schemas are now held in tests/schemas and there is no longer a step which copies test schemas into a single directory. Instead a map is built of all possible schemas which loads them from their source paths if they exist.
How to review
I've created a tag v0.0.1 on the new repo to trigger a dummy release which can be used in runner. Runner has been updated to use this, ensure that the tests pass.  Check all previous build dependencies have been removed if no longer needed.

 Separate questionnaire build process out of runner (L)


allow to send multiple events in a single operation

Pull Request Test Coverage Report for Build 50

7 of 7 (100.0%) changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+1.6%) to 73.256%

Files with Coverage Reduction
New Missed Lines
%

writer/src/main/java/com/mercateo/eventstore/writer/EventWriteData.java
1
50.0%

Totals

Change from base Build 44:
1.6%

Covered Lines:
378

Relevant Lines:
516

💛  - Coveralls


Dispatch event before Payment redirect when an order is placed

When a custom payment method is implemented using a Redirect URL the user is redirected to this payment page once the "Place Order" button. All of this is done within the "Webkul\Shop\Http\Controllers\OnepageController@saveOrder" function but no events are dispatched before the Redirect is done:
if ($redirectUrl = Payment::getRedirectUrl($cart)) {
            return response()->json([
                'success'      => true,
                'redirect_url' => $redirectUrl,
            ]);
        }

The "checkout.order.save.before" event is dispatched in the call below the above IF statement which does not get called because the redirect is done.
I am requesting that an Event is dispatched before the redirect is done. I need this so that I can set certain session variables that I want to check for on the payment page to make sure the request is coming from the user clicking the Place Order button on the checkout page.

Hello @emperorjm
This event ( checkout.order.save.before ) is dispatched at order repository's create method, so still, before redirection, this event will be dispatched as the order will be created from the repository.
If you need an event in the controller then you need to customise it.

Hello @emperorjm
Hope above solution worked for you! We are not getting any response from the last 21 days so We're closing this issue.
Feel free to reopen your query at any time in case of further doubts.

hi


[admin] Publish

Docs Build status updates of commit 7422184:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/built-in-button-integration.md
:white_check_mark:Succeeded
View

docs/design/contextual-tabs.md
:white_check_mark:Succeeded
View

docs/design/custom-tab-placement.md
:white_check_mark:Succeeded
View

docs/design/disable-add-in-commands.md
:white_check_mark:Succeeded
View

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded
View

docs/develop/specify-office-hosts-and-api-requirements.md
:white_check_mark:Succeeded
View

docs/includes/start-web-sideload-instructions.md
:white_check_mark:Succeeded
View

docs/reference/manifest/method.md
:white_check_mark:Succeeded
View

docs/reference/manifest/methods.md
:white_check_mark:Succeeded
View

docs/reference/manifest/override.md
:white_check_mark:Succeeded
View

docs/reference/manifest/requirements.md
:white_check_mark:Succeeded
View

docs/reference/manifest/set.md
:white_check_mark:Succeeded
View

docs/reference/manifest/sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/excel-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/testing/unit-testing.md
:white_check_mark:Succeeded
View

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


CI consistently failing on Ruby >= 3.1, is it ok to update?

Hi,
given the broken status badge and the results at
https://github.com/bblimke/webmock/actions/runs/6021150216/
It is not clear if the current version is supposed to work with Ruby >= 3.1
I did upgrade to 3.19 and webmock is still working, but I would ask for a confirmation

It Async HTTP specs started failing for no good reason or ruby 3.1 and 3.2. No idea why as they passed few days before. Webmock oś compatible with both 3.1 and 3.2

I figured out that the Async HTTP specs are failing due to the async gem. Version 2.6.4 was released on Aug 25, 2023 and subsequently causes the the Async HTTP specs to fail.
By bisecting commits, I narrowed the cause down to this specific PR that seems to have had the (intended? unintended?) effect of changing exception behavior: https://github.com/socketry/async/pull/270
The result is that Async HTTP calls that used to raise exceptions with async <= 2.6.3 now do not raise exceptions on 2.6.4.
I've never used Async HTTP so I don't know if this is a problem that should be reported upstream, or if webmock's Async HTTP support needs to be changed to support the new behavior.
In any case I would really like to see green CI builds here. Would the maintainers be open to pinning async < 2.6.4 in the gemspec for the time being to get a green build?


[Bug] Test Harness can't handle Spaces in WiFi SSID

Describe the bug
Test Harness drops the Quotation-Marks around the WiFi SSID, which leads to a failed Test, cause the chip-tool interprets the WiFi-SSID as multiple Arguments.
Steps to reproduce the behavior
create a project with a WiFi-SSID containing Spaces
Expected behavior
SSID should ALLWAYS be inserted within Quotation Marks, (same goes for password btw).
Log files
TH-Log:
[...]
Commission DUT
--
User prompt: "Make sure the DUT is in Commissioning Mode"
User chose prompt option DONE
CHIP:TOO Command: pairing ble-wifi 0xfac68ed43e3d7ef9 Haertelgu's Lab WiFi MYWIFIPASSWORD 33448822 1234 --trace_file "/logs/trace_log_2024-09-30_07.25.30_0xfac68ed43e3d7ef9_PAIRING_ble-wifi.log" --trace_decode 1
CHIP:TOO InitArgs: Invalid argument setup-pin-code: WiFi
[...]

PICS file
No response
Screenshots
No response
Environment
No response
Additional Information
No response

Hi @Haerteleric could you please put the  ssid between single quotes?
Your project config should look like bellow:
...
  "wifi": {
        "ssid": "'Haertelgu's Lab WiFi'",
        "password": "MYWIFIPASSWORD"
      }
...

@rquidute what's the conclusion here? is it a SDK issue?

It does not seem a SDK issue. Waiting fot the originator feedback in my previous comment, if it works, it's just a matter of project configuration.


TypeError: Cannot read property 'getToken' of undefined in Ionic3 project

Hi @dpa99c ,  I tried to use the latest version of cordova-plugin-firebasex for my ionic3 app. I also did refer your ionic3 example for firebasex plugin. But after adding the code, I am getting the error as 'TypeError: Cannot read property 'getToken' of undefined'. Below is the code which I have used:
In my login.ts file:
if ( this.accessToken ) {
this.fireBaseService.getFirebaseXToken();
}
In my firebase-service.ts file===**====
export class FireBaseService {
protected token:any;
public firebasePlugin;
async getFirebaseXToken() {
let token;
this.firebasePlugin = (window).FirebasePlugin;
token = await this.firebasePlugin.getToken(token => {
console.log('Response from getToken===>>>>',token);
});
}
}
These are the specs for my ionic3 project:
"cordova": "^9.0.0",
"cordova-android": "8.1.0",
"cordova-plugin-firebasex": "^8.1.1",
"cordova-android-play-services-gradle-release": "3.0.0",
"cordova-android-support-gradle-release": "^3.0.0",
"cordova-plugin-androidx": "^1.0.2",
"cordova-plugin-androidx-adapter": "1.1.0",
"devDependencies": {
"@ionic/app-scripts": "^3.2.2",
"typescript": "~2.6.2"
}
I wanted to use this plugin as it is actively maintained and prompt replies by the maintainers. If there are any changes to be done in my code, am I missing something, any kind of help will be helpful. Thanks.

I'm unable to provide support for specific usage of the plugin - please ask for help on Ionic Forums or Stackoverflow.
Please only open issues to report a suspected bug (which is validated against the example project or by providing exact steps to reproduce) or to request new features.
Please refer to the example project for a working reference of the plugin functionality.

@Sagarkhenat are you tried adding setTimeout function? Like this:
setTimeout(()=> {
(window).FirebasePlugin.setCrashlyticsUserId('DEVELOP_USER')
}, 1000);
this works for me, but I can't get a promise result. I will consider upload my project to ionic 5


Enable CI Test for vFile plugin: resolving current bugs

https://ci.vmware.run/vmware/docker-volume-vsphere/1625
Basic tests for vFile CI testing failed with error:
FAIL: basic_vfile_test.go:80: BasicVFileTestSuite.TestVolumeLifecycle
basic_vfile_test.go:91:
c.Assert(err, IsNil, Commentf(out))
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc42013afa0), Stderr:[]uint8(nil)} ("exit status 125")
... e09e2b3c49ece11dbd558668bf82806eb6dc41e53cbf8e4dc66425020e41c87c
docker: Error response from daemon: error while mounting volume '/var/lib/docker/plugins/732e5ae63625543d6ea2580ce94280030eb54d452d777bf394e35fc8aa235f0b/rootfs/mnt/vfile/vfilevolume253398': VolumeDriver.Mount: Failed to blocking wait for Mounted state. Error: Timeout reached; BlockingWait is not complete.
Need triage reason.

Adding mustfix kw: must need for kubecon release

Multiple issues resulted in the error.

Testbed is comparably slow. As a result, the tasks started by a file server service may be failed due to slow node.
For some unknown reason, tasks also can be rejected by one of the ubuntu node.
When some of the tasks are rejected/failed, the current function to check if file server is already running has a problem. It will return false as long as one of the tasks is not running. But in this case, since we only have a single container for this file service, it should return true as long as one of the tasks is running.


Download Pipeline Artifact does not honor selected resources (triggering pipelines)

We have a pipeline with a resource trigger (other pipeline).
This pipeline has a task
 - task: DownloadPipelineArtifact@2
    displayName: Download Files
    inputs:
      buildType: 'specific'
      project: '...'
      definition: '...'
      specificBuildWithTriggering: true
      buildVersionToDownload: 'latestFromBranch'
      branchName: '$(Build.SourceBranch)'
      targetPath: '$(Build.SourcesDirectory)/Files'
      artifactName: 'Files'
      allowPartiallySucceededBuilds: true

Now, if I manually trigger this pipeline, I get a UI to select the resource version. Per default, it says "use latest version of all resources".
If I select an older version there, the pipeline still downloads the newest version of the artifacts and not the ones I've selected....
While the wrong artifacts are downloaded (wrong build id visible in log of DownloadPipelineArtifact), the pipeline shows the correct "consumed artifacts" (correct build id).

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

ID: 6d5753b5-d4e7-6696-0230-3595f632ba0e
Version Independent ID: 6d5753b5-d4e7-6696-0230-3595f632ba0e
Content: DownloadPipelineArtifact@2 - Download Pipeline Artifacts v2 task
Content Source: task-reference/download-pipeline-artifact-v2.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-tasks
GitHub Login: @steved0x
Microsoft Alias: sdanie

Thank you for your feedback. We are migrating this issue to our new documentation feedback system, and closing this issue.
As we phase out GitHub issues for this repository, we encourage you to propose changes using public PRs or submit feedback through our updated control at the top of the page. For more information on our feedback systems, see https://aka.ms/contentuserfeedback.


[backoffice] cannot see product if we checked on VisibleIndividually when create Product

cannot see product if we checked on VisibleIndividually when create Product in backoffice
Recommended solution:

Wrong issue


Implemented appropriate reflections

As discussed in #39
Cargo.toml
[package]
name = "reflect-example"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
bevy = "0.11.3"
bevy-inspector-egui = "0.19.0"
smooth-bevy-cameras = { git = "https://github.com/kylemiller3/smooth-bevy-cameras.git"}

main.rs
use bevy::prelude::*;
use bevy_inspector_egui::quick::WorldInspectorPlugin;
use smooth_bevy_cameras::{LookTransformPlugin, controllers::{fps::{FpsCameraBundle, FpsCameraController}, orbit::OrbitCameraController, unreal::UnrealCameraController}, LookTransform, LookAngles, Smoother};

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, LookTransformPlugin, WorldInspectorPlugin::new()))
        .add_systems(Startup, setup)
        .register_type::<LookTransform>()
        .register_type::<LookAngles>()
        .register_type::<Smoother>()
        .register_type::<FpsCameraController>()
        .register_type::<OrbitCameraController>()
        .register_type::<UnrealCameraController>()
        .run()
}

fn setup(mut commands: Commands) {
    let eye = Vec3::default();
    let target = Vec3::default();
    let up = Vec3::Y;
    let controller = FpsCameraController::default();

    commands.spawn(FpsCameraBundle::new(controller, eye, target, up));
}

Without Reflect:

With Reflect:

Might want to review my default implementations needed for reflect. Not sure what sane defaults should be.

I added some more feature that are helpful and match Transform such as being able to compare LookTransforms. Personally I use those for unit tests but I'm sure it's useful in other places.


change help text

QoL help meldung bot:
usage:
help - show this message

Create your Character, you have to do this once for every raiding charakter.
create name@shard
e.g.: 'create Paxie@Brutwacht Kleriker Tank,DD,Heal,Support Pax'

Register your character for incoming raid
register
e.g. 'register 1001 Pax'

Deregister your character for incoming raid:
deregister
e.g. 'deregister 1003'

Admin Settings:
addRaid <irotp / td>
printRaids
deleteRaid <irotp / td>
updateRaid <irotp / td>  <day / date / start / end / invite>
clearRaidChannel

https://github.com/rhicu/RiftDiscordBot/commit/7e249db8c2873337db8d162a391f4b41c88ad30b

Added review comment to commit.
Can be merged to Master.


Support setting 'prefs' and other experimental options

Selenium Webdriver for Python's equivalent to option args is this:
    chrome_options.add_argument("--lang=yi")
    chrome_options.add_argument("--enable-accelerated-2d-canvas")

It also support an additional set of experimental options, which includes a very useful one for preferences.
    chrome_options.add_experimental_option('prefs', {
        "intl": {"accept_languages": tl}
    })

The alternative to this would be to find, parse and modify the actual preferences file on the device, and optionally remember to undo the changes after the test has finished.
Also, should Puppeteer really be referring users to peter.sh/experiments/chromium-command-line-switches/ for the list of Chromium flags?  Is there no more official Chromium or Chrome documentation of the flags?  (Possible values for prefs are not document there, and in the case of nested structures the string format is not trivial.)

peter.sh/experiments/chromium-command-line-switches/ is has been the long-standing resource for many years. Official chromium.org docs reference it :)

Any list that long that is not auto-generated is going to be burdensome to maintain.  I know he works on the team and that it's common to reference it since the early days of Chrome, but now billions of people depend on Chrome and it's not updated and it does not include everything.
For example, the experimental arguments like prefs.

That list is auto generated from chromium source.

Why was it closed? It's still unclear how to provide Chrome instance with prefs/localState. Using ChromeDriver's chromeOptions (https://sites.google.com/a/chromium.org/chromedriver/capabilities) I could set something like this:
prefs: {
    download: {
        prompt_for_download: false,
        default_directory: DOWNLOAD_PATH,
    }
},
localState: {
    browser: {
        "enabled_labs_experiments": [
            // All preferences can be found here: https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/pref_names.cc?view=markup
            "enable-native-notifications@2",
        ],
    }
},

Is it possible to do the same with puppeteer?


Bug: deployment pipeline -> ipfs deployment -> 413 Request Entity Too Large

When trying to deploy the Uniswap V3 wrapper, I got this error. Deleting the meta folder and polywrap.meta.json resolved the issue.

@nerfZael probably is something related to the constraints defined in wrappers.io regarding package validation?

@nerfZael probably is something related to the constraints defined in wrappers.io regarding package validation?

I think this is an issue with the express.js server settings on the persistence node gateway, I'll look into it

Can this be closed? NOTE: we've removed the "Polywrap metadata" feature, and instead are using the generic "resources" folder.

Update: still a potential problem, need to investigate express.js configuration.


Series map_partition example in documentation

I was looking at the code: https://github.com/dask/dask/blob/master/dask/dataframe/core.py#L587 at the map_partition method for the Dask Series.  Can an example be added showing how this method should be used on the Series, not just the DataFrame?

I think that'd be a nice addition to the docs. Please feel free to open a PR with what you have in mind :)


Update -search-ifilter-registering-filters.md

The registry hive tree in this document was inaccurate. An extra level was very likely left in error after copying and pasting. This correction accurately reflects the Windows registry hive that can be verified using Registry Editor app in Windows.

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


BUG: Index does not inherit existing Index or DatatetimeIndex object …

This PR is meant to fix issue #11193
The issue prevent, when creating a new Index object based on a passed Index or DatetimeIndex object, to inherit the existing Index name if a new name is not provided.
I've also created two unit test which test the new behaviour on both cases (passing an Index or DatetimeIndex object) and added a comment in the whatsnew documentation.

Great!

This could test other classes (PeriodIndex, etc), both when they're called with their own constructor (pd.PeriodIndex(period_index), and with different constructors (pd.Index(period_index)).
This could also update all the fields in _attributes, rather than just name (although it'd have to protect against differently typed Indexes having different attributes. In many cases it would be identical; a standard Index only has name in _attributes.)

I'll rebase on master and squash my commits. I should update my PR shortly.

I'm a bit confused. Did I do something wrong when resolving the rebase conflicts? It seems I've deleted two lines in the whatsnew documentation. However, I swear I haven't seen those two lines when resolving the conflict. Also, what's confusing me is that GitHub says This branch is up-to-date with the base branch. I'm confused. Did I do something wrong?

minor correction, pls rebase as I just merged #11497 which might impact this. ping when green.

I've just rebased @jreback I'll add a second comment when the Travis CI build is completed.

@jreback let me know if this needs further changes.

@IamGianluca can you update

I've updated the unit test @jreback

merged via https://github.com/pydata/pandas/commit/fc40dcce34874c8399474b0a3b8119ea32207055
thanks!


Chapter1/homework/1 and2

Added everything according to instructions

The input should be read from console and not hardcoded (with constant values). Refer to Console.ReadLine, int.Parse, float.Parse, etc.


How to create CRUD API with FastAPI.

NOTE: We tend to stray away  or tend not to publish reviews/comparisons of commercial product offerings.
Brief Summary:
FastAPI is a modern, fast (high-performance), a web framework for building APIs with Python 3.6+ based on standard Python type hints. FastAPI is a Python framework and set of tools that enable developers to use a REST interface to call commonly used functions to implement applications. In this tutorial, i will be creating a simple API using FastAPI. This article aims to teach the reader how to create various CRUD APIs using FastAPI.
Key Takeaways:
Basic Python knowledge is required to understand the concept covered in this article.

What is FastAPI.
Why FastAPI?.
How to create CRUD API using FastAPI.

References:
Please list links to any published content/research that you intend to use to support/guide this article. (If none, please indicate 'N/A'.)

Thank you for your topic suggestion. Per the recent message posted in Slack, we are pausing acceptance of new articles until further notice while we work through the backlog of submitted drafts. We will notify you when we are ready to accept new topic suggestions. Thank you for your patience.


Styles break when certain characters are inserted dynamically, ie. ( and [

While creating www.cssgridplayground.com I found an interesting issue that happens when dynamically updating the CSS for a styled component. For example, on CSS Grid Playground, I have two textareas at the top that hold text within them. This text is the styling that corresponds to certain HTML elements on the page. Normally, updating this CSS works just fine. However, in cases where I need to enter the characters ( and [, the styling for the whole app breaks. A refresh is required to get the styling back. Has anyone experienced this?
Here is an example:

Version
1.4.4
Reproduction
I have a simple reproduction here: https://styled-components-bug.now.sh/
The code can be found here: https://github.com/purplecones/styled-components-bug/blob/master/src/App.js
Steps to reproduce
Enter a ( or [ into the textarea.
Expected Behavior
Nothing should happen until a valid css property has been completed
Actual Behavior
All styling break that use styled components

Sanitising invalid CSS strings is tough and I don't think it's sth that can be done easily without large perf hits.
Also, I don't think you should trust the user's input in this way. I've done sth similar for a spectacle presentation is basically a custom version of the component-playground By formidable. It allows the user to input some js code whole the rendered components update live.
It handles invalid input by putting in some error boundaries for both parsing and rendering. Let me search for the code really quick...

This renders everything in an unsafe wrapper:
https://github.com/philpl/rxjs-guide/blob/master/components/Playground/Preview.js
You probably won't need transpilation, but just in case:
https://github.com/philpl/rxjs-guide/blob/master/utils/transpile.js

The question is why doesn't it recover when you remove it. Maybe v2 will fix this?

I ended up doing some validation on my side before passing the CSS string down to styled-components. Works for now I'm curious as well why it does not recover. Strange.

Can you try v2 @purplecones? npm install styled-components@next and let us know if that fixes it!

@mxstbr It does indeed 🎉  🎊

However, typing the opening bracket character [ still causes it to break.

@purplecones does it recover after you fix the invalid css?

@thysultan sorry forgot to mention that. It does not. This only happens with the [ character, not ].

I don't think the problem is with the parser, looking at the DOM of https://styled-components-bug.now.sh/ new repeated styles are created every time something changes.

Yeah, we don't remove any CSS at the moment, so as soon as you have something that fully breaks the CSS file's validity, it'll never get removed. User-driven input like this isn't a use-case we've really looked at, and I'm... not convinced we should, personally. But, it would be good to prevent broken chars like [ from reaching the DOM at all.
For this use-case, I'd actually use a global CSS class on your grid, and a <style> tag local to the component, and wire it up with the textarea's onChange handler. Might make things a bit more predictable.

Thanks @geelen, I'll look into that option. The interesting bit is that if the [ is followed by a closing ], then the problem doesn't happen. If you paste both [] into https://styled-components-bug.now.sh, it doesn't break. So it only breaks when the [ is on its own.
Currently I've got it working by making sure all opening brackets have a closing bracket before passing the string down to styled-components.

Going to close this out as this use case is not something we'll be optimizing for anytime soon. (sorry @purplecones!) That being said, we'll be looking towards removing injected, but now useless, styles in the future, which might or might not fix this behavior!


New shell improvement

HOME is not set:

$ cd
bash: cd: HOME not set

Please see https://superuser.com/questions/271925/where-is-the-home-environment-variable-set/1502106#1502106

Shell is hardcoded to "bash" instead of picking user's shell from /etc/passwd

For (2), please see new PR: #79

Now (1) is also fixed by #79

What I just realized that's really nice in (2), is that you may have multiple windows on different systems with different default shells, while your terminal7 settings are fixed for all your sessions.

Yes.


drivers: i2c_mcux_flexcomm: add support for bus recovery.

use the bit bang driver to recover the i2c bus using gpio.
identical implementation as the ll_stm32, ambiq and mcux_lpi2c i2c drivers.

No problem with the implementation, but if we are reusing the same code block should we be consolidating this into a helper function that can be used generically by all the drivers that need it?


When scraping using Alloy clustering mode, if there are more than 3 replicas, a duplicate label error occurs.

What's wrong?
I am using AWS environment and Alloy agent is exporting metrics through unix, process, advisor exporter for each of about 100 servers.
The Alloy v1.1.0 agent in kubernetes performs ec2 discovery -> relabel (ec2 tag save) -> scrape -> mimir write.

Unix scrape interval 1 minutes
Process scrape interval 5 minutes
Advisor(Docker) scrape interval 5 minutes

At this time, the Alloy agent deployed as statefulset in kubernetes collects well without error in replica count 2.
However, when replica count becomes 3, duplicate label error starts to occur in the last replica pod.
The metrics seem to be collected well, but this error comes up countless times and feels like a fatal problem to me.
Reference Link
https://github.com/grafana/alloy/issues/784
Steps to reproduce

ec2(application server) Alloy agent install and unix, process metric export
eks alloy, mimir-distributed helm chart statefulset deploy
alloy configuration setting (ec2 discovery -> relabel -> scrape(clustering) -> mimir write) and alloy replica 2
alloy replica 2 -> 3 change (problem)
After a while, I started getting a lot of err-mimir-duplicate-label-names errors from the last alloy pod added.

System information
Linux 6.1.84-99.169.amzn2023.x86_64
Software version
Alloy v1.1.0
Configuration
alloy:
  configMap:
    create: true
    content: |-
      prometheus.remote_write "mimir_a" {
        endpoint {
          url = "http://mimir-distributed-gateway/api/v1/push"
          remote_timeout = "1m"
          queue_config {
            capacity = 50000
            retry_on_http_429 = false
            sample_age_limit = "5m"
          }
        }
        wal {
          truncate_frequency = "2h"
          min_keepalive_time = "5m"
          max_keepalive_time = "4h"
        }
      }

      prometheus.remote_write "mimir_b" {
        endpoint {
          url = "http://mimir-distributed-gateway/api/v1/push"
          remote_timeout = "1m"
          queue_config {
            capacity = 50000
            retry_on_http_429 = false
            sample_age_limit = "5m"
          }
        }
        wal {
          truncate_frequency = "2h"
          min_keepalive_time = "5m"
          max_keepalive_time = "4h"
        }
      }

      discovery.ec2 "a" {
        refresh_interval = "5m"
        port = 12345
      }

      discovery.relabel "a_keep_label" {
        targets    = discovery.ec2.a.targets

        rule {
          source_labels = ["__meta_ec2_private_ip"]
          target_label  = "private_ip"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_instance_id"]
          target_label  = "instance_id"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_instance_type"]
          target_label  = "instance_type"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_tag_Name"]
          target_label  = "tag_Name"
          action        = "replace"
        }
      }

      prometheus.scrape "a_scrape_unix" {
        targets    = discovery.relabel.a_keep_label.output
        forward_to = [prometheus.remote_write.mimir_a.receiver]
        job_name   = "a-unix"
        scrape_interval = "1m"
        scrape_timeout = "50s"
        metrics_path = "/api/v0/component/prometheus.exporter.unix.unix/metrics"
        clustering {
          enabled = true
        }
      }

      prometheus.scrape "a_scrape_process" {
        targets    = discovery.relabel.a_keep_label.output
        forward_to = [prometheus.remote_write.mimir_a.receiver]
        job_name   = "a-process"
        scrape_interval = "5m"
        scrape_timeout = "4m"
        metrics_path = "/api/v0/component/prometheus.exporter.process.process/metrics"
        clustering {
          enabled = true
        }
      }

      prometheus.scrape "a_scrape_docker" {
        targets    = discovery.relabel.a_keep_label.output
        forward_to = [prometheus.remote_write.mimir_a.receiver]
        job_name   = "a-docker"
        scrape_interval = "5m"
        scrape_timeout = "4m"
        metrics_path = "/api/v0/component/prometheus.exporter.cadvisor.docker/metrics"
        clustering {
          enabled = true
        }
      }

      discovery.ec2 "b" {
        refresh_interval = "5m"
        port = 12345
      }

      discovery.relabel "b_keep_label" {
        targets    = discovery.ec2.b.targets

        rule {
          source_labels = ["__meta_ec2_private_ip"]
          target_label  = "private_ip"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_instance_id"]
          target_label  = "instance_id"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_instance_type"]
          target_label  = "instance_type"
          action        = "replace"
        }

        rule {
          source_labels = ["__meta_ec2_tag_Name"]
          target_label  = "tag_Name"
          action        = "replace"
        }

      }

      prometheus.scrape "b_scrape_unix" {
        targets    = discovery.relabel.b_keep_label.output
        forward_to = [prometheus.remote_write.mimir_b.receiver]
        job_name   = "b-unix"
        scrape_interval = "1m"
        scrape_timeout = "50s"
        metrics_path = "/api/v0/component/prometheus.exporter.unix.unix/metrics"
        clustering {
          enabled = true
        }
      }

      prometheus.scrape "b_scrape_process" {
        targets    = discovery.relabel.b_keep_label.output
        forward_to = [prometheus.remote_write.mimir_b.receiver]
        job_name   = "b-process"
        scrape_interval = "5m"
        scrape_timeout = "4m"
        metrics_path = "/api/v0/component/prometheus.exporter.process.process/metrics"
        clustering {
          enabled = true
        }
      }

      prometheus.scrape "b_scrape_docker" {
        targets    = discovery.relabel.b_keep_label.output
        forward_to = [prometheus.remote_write.mimir_b.receiver]
        job_name   = "b-docker"
        scrape_interval = "5m"
        scrape_timeout = "4m"
        metrics_path = "/api/v0/component/prometheus.exporter.cadvisor.docker/metrics"
        clustering {
          enabled = true
        }
      }

    name: null
    key: null

  clustering:
    enabled: true

  extraPorts:
    - name: "otlp-grpc"
      port: 4317
      targetPort: 4317
      protocol: "TCP"
    - name: "otlp-http"
      port: 4318
      targetPort: 4318
      protocol: "TCP"

  securityContext: {}

  resources:
    limits:
      memory: 3Gi
    requests:
      cpu: 700m
      memory: 3Gi

image:
  registry: "docker.io"
  repository: grafana/alloy
  tag: 'v1.1.0'
  digest: null
  pullPolicy: IfNotPresent
  pullSecrets: []

controller:
  type: 'statefulset'

  replicas: 2

  parallelRollout: true

  dnsPolicy: ClusterFirst

  nodeSelector: {
    Environment: production
  }

Logs
ts=2024-06-10 level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.mimir subcomponent=rw remote_name=40abfa url=http://mimir-distributed-gateway/api/v1/push count=55 │
│ 0 exemplarCount=0 err="server returned HTTP status 400 Bad Request: received a series with duplicate label name, label: 'tag_Name' series: 'node_memory_Cached_bytes{instance=\"192.168.xxx.xxx:12345\", instance_id=\"i-xxxx\", instance_type=\"xxxx\", job=\"a-unix\",  private_i' (err-mimir-duplicate-label-names)"

This problem occurs when using alloy clustering mode and replica 3.

This may not be related to the issue, I still want to look into it deeper, but I've noticed that you are reaching into an internal metrics path of an Alloy exporter with this:
metrics_path = "/api/v0/component/prometheus.exporter.unix.unix/metrics"

This is not advised and it's relying on an internal implementation detail. Could you try to use the supported way, similar to the examples in our documentation?
To be specific, you shouldn't need to set the metrics_path, you can just run the exporter and scrape it in one agent instance like this:
prometheus.exporter.process "example" {
  ... // your config
}

// Configure a prometheus.scrape component to collect process_exporter metrics.
prometheus.scrape "demo" {
  targets    = prometheus.exporter.process.example.targets
  forward_to = [...]
}

I prefer the prometheus pulling method.
So the Alloy agent on the collection target server only acts as an exporter,
and discovers and scrapes the target server according to the configuration written above.
To pull, you have no choice but to use the metric path.
Because the target server is a server outside of another ec2.
The guide document provided seems to be a push method, which is directly delivered to mimir from each collection target server.
Sorry if I misunderstood. I am pulling from the target server via alloy agent.
(https://prometheus.io/docs/introduction/faq/#why-do-you-pull-rather-than-push)

I prefer the prometheus pulling method.

The example that I included in my previous comment uses the pull method. Only targets are passed to prometheus.scrape, but then the prometheus.scrape performs metrics pulling. You still have a pull-based metrics pipeline. So I'd recommend you try the supported approach, as the /api/v0/component/prometheus.exporter.unix.unix/metrics is an internal implementation detail.
BTW, you may also be affected by this issue: https://github.com/grafana/alloy/issues/1009 - but there is a simple workaround for it, so try that too :)

I may have misunderstood.
However, I would like to ask one more question.
On my multiple collection target EC2 (A Group, B Group), Alloy agent is running in non-cluster mode,
and each exports metrics through unix, process, and cadvisor exporter.
On another EKS server, there are two Alloy agent pods (X Group) running in cluster mode.
If I want to collect metrics for unix, process, and cadvisor from multiple collection target EC2 (A Group, B Group) from Alloy agent pod (X Group) on the EKS server, don't I have no choice but to declare metric_path?
After ec2 discovery, I confirmed that only /metrics is read when prometheus.scrape is performed. /metrics only has metrics for alloy, and unix, process, and cadvisor metrics do not exist.
That's why I declared unix, process, and cadvisor separately in addition to /metrics.
I understand that the method you mentioned is only possible when the exporter and scrape are on the same server and are the same Alloy agent process.
`prometheus.exporter.process "example" {
... // your config
}
// Configure a prometheus.scrape component to collect process_exporter metrics.
prometheus.scrape "demo" {
targets = prometheus.exporter.process.example.targets
forward_to = [...]
}`
If I'm wrong or you have different design guidelines, please let me know and I'd really appreciate it.

Thanks for closing this, I'm happy it worked eventually!

However, I do not understand why the instance label affects clustering

I have described this failure mode in more detail in this issue. The instance label would be different between instances and thus the hashing will be different too, breaking an important assumption in clustering.


VEgas

Hi!
It seems URL for Vegas roster is wrong. I get an error that it's calling https://www.hockey-reference.com/teams/veg/2019.html instead https://www.hockey-reference.com/teams/VEG/2019.html

Hello @jernej19! Thanks for posting! I will track down why the team's abbreviation isn't being set to uppercase. Should be a straightforward fix on my part.


Python module for interfacing with ncStream

Reported by karl smith on 27 Feb 2012 18:20 UTC
Investigate and implement a Python module for reading ncStream data and creating something in Python that contains the metadata and the data array.   (Investigate == see if someone is already working on this; if not, bounce ideas off some folks.)  The target of this module would be something that pyferret.putdata or pyferret.put could use to make the data available to Ferret.
From
http://www.unidata.ucar.edu/software/netcdf-java/stream/NcStream.html
NetCDF Streaming Format (ncstream) is a write-optimized encoding
of CDM datasets. Ncstream consists of a series of header and data
messages, in any order. Writes are always appended. Later messages
override earlier ones whenever they overlap or conflict. To add or
modify structural metadata, simply append a new header message. Each
data message identifies the variable and the section (rectangular
subset) of data it contains. A variable's data thus consists of the
collection of data messages for it, if any.

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1922

Comment by steven.c.hankin on 27 Feb 2012 21:07 UTC
One challenge to keep in mind (arguably a "version 2" consideration):  to the degree that ncStream is truly "stream" oriented, the size of the result set from a query cannot be known in advance.  It may prove so big that it needs to be aborted.  In such cases one assumes the desired behavior of t a plotting client would be to (say) plot the data progressively as it is read and give the user the power to interrupt it.  It would be worth thinking about how an effect like this might be achieved in Ferret.  If the ncStream reads could be handled in a separate (asychronous) thread, then Ferret might be given a partial result and allowed to plot it as the read continued.  Would then need a way for ferret to inform the user (or script) that further data was available, and to (somehow) perform an "update" that extended the array sized of the previously "put" data.


Email Notification X-Site Scripting

Result of a security review:
To avoid X-Site Scripting, the calls to templateHTML  in the code: https://github.com/owncloud/ocis/blob/master/services/notifications/pkg/email/email.go#L70 should rather use the escaping from the safehtml/template package.
Please check for fur.ther usages of HTML
Referenz to Security Report: 5.1.4

Yes, thanks.


[ci] release

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#745 006d606 Thanks @TheOtterlord! - Prevent Starlight crashing when the content folder doesn't exist, or is empty

size-limit report 📦

Path
Size

/index.html
9.42 KB (0%)

/_astro/*.js
19.25 KB (0%)

/_astro/*.css
9.55 KB (0%)


"Not found" when accessing Tye dashboard on second start

Describe the bug
New to Tye and following the standard tutorial but I've noticed that once I stop my "tye run" and rerun then the dashboard and service is returning 404 Not Found.
I have to restart Docker in order for it to work again.
To Reproduce
$ dotnet new razor -n frontend
$ tye run frontend
Access dashboard on http://<IP_ADDRESS>:8000/ - observe dashboard is working.
Ctrl+C
$ tye run frontend
Access dashboard on http://<IP_ADDRESS>:8000/ - observe 404 is returned.
Further technical details

Include the output of tye --version

0.9.0-alpha.21380.1+836b0baa8a0ed5d8ca3bebc27c7d4f6d0a7bdfd9

If possible rerun the command with -v debug and include the output

❯ tye run frontend -v debug
Loading Application Details...
Restoring and evaluating projects
Resolved metadata for service frontend at C:\Src\Hackathon\microservices\frontend\obj\Debug\net5.0\MicrosoftTye.ProjectMetadata.txt
Restore and project evaluation took: 1150,109ms
Found application version: 1.0.0
RunCommand=C:\Src\Hackathon\microservices\frontend\bin\Debug\net5.0\frontend.exe
RunArguments=
TargetPath=C:\Src\Hackathon\microservices\frontend\bin\Debug\net5.0\frontend.dll
PublishDir=bin\Debug\net5.0\publish\
AssemblyName=frontend
IntermediateOutputPath=obj\Debug\net5.0\
Found target framework: net5.0
Parsed target framework name: net
Parsed target framework version: 5.0
Found shared frameworks: Microsoft.NETCore.App, Microsoft.AspNetCore.App
IsAspNet=True
Evaluation Took: 3,4551ms
Launching Tye Host...

[15:10:01 INF] Executing application from C:\Src\Hackathon\microservices\frontend\frontend.csproj
[15:10:01 INF] Dashboard running on http://<IP_ADDRESS>:8000
[15:10:01 INF] Building projects
[15:10:02 INF] Launching service frontend_a9d613b5-2: C:\Src\Hackathon\microservices\frontend\bin\Debug\net5.0\frontend.exe
[15:10:02 INF] frontend_a9d613b5-2 running on process id 19316 bound to http://localhost:59639, https://localhost:59640
[15:10:02 INF] Replica frontend_a9d613b5-2 is moving to a ready state
[15:10:03 INF] Selected process 19316.
[15:10:03 INF] Listening for event pipe events for frontend_a9d613b5-2 on process id 19316

The platform (Linux/macOS/Windows)
Windows

I couldn't reproduce this. Used the same version of Tye on Windows 10 v20H2.
When pressing CTRL+C on the terminal to stop Tye, the dashboard immediately displays this:

When running tye run frontend again, I need to refresh the browser (F5) to display the dashboard, but it shows just like on the first tye run.
Is this intermittent or does it happen every time? What happens if you open one of the bindings in the output?

I have the same issue only its now permanent.
A workaround i found (that works for now at least) which might give a clue as to the issue, is, it seems bizarrely that only firefox can run the dashboard still. Postman gets the same 404 (even if i copy the request straight out of firefox with identical headers) and no chromium browsers can load it either. Theres something firefox is silently doing to make it work but im at a loss as to what. Anything other than firefox gets a basic 404 response with a text/plain content type saying "Not found".
Note: if firefox doesnt work either i found the following two steps reliably fix it on firefox.

close and rerun tye
run firefox in private mode

also previously control F5 or incognito in chrome was working but even thats stopped working entirely now.
as i can reproduce this easily i could run any tests or extract debug info if you want.