Better use of Make + dockerized dev environment

I can see there's a Makefile but I can't see where Make is actually invoked anywhere. Is this right?
Is there an appetite to reconsider using Make? (I'm a big fan of Make)
The current Makefile doesn't leverage the targets - prerequisites model as well as it could. It's possible to only (re)build what's needed and it's not a very complex thing to do with Make.
The development environment could also be dockerized so as to make sure everybody (on any platform) develops against the same version of Node, with Make and the same shell. This would get rid of packages such as cross-env and rimraf.
If there's even a mild interest I can take a stab at it and show what's possible.

I'm mixed about this.
I would love to have our build as simple as possible.  Requiring Docker in order to build seems a bit much.  I also want to make sure that Windows users aren't left in the cold.  But I don't see any good way to achieve both a simple build and Docker-free Windows support.
For now, though, make is how we create and publish our releases, so I guess we're already away from the Windows world.  (I know I've actually done it on Ubuntu by calling XYZ directly, though.

In other words, my thoughts on this are scrambled!

That's fine. I'll have a go and we'll see where that goes.

I'd suggest to keep the dev life cycle within the NPM scripts,
this would guarantee we are cross platform and would also let us decommission tools like make, etc.
Ramda should work as any regular npm project...
npm install
npm run lint
npm run compile
npm publish

I don't think we really need any other superstructure,
we should also keep the CI in mind...
any job that you can run locally should also be runnable on github actions.

I don't think we can assume that all NPM projects are built and managed the same way ;)
NPM scripts are indeed very popular as Make is. Both are well known, documented solutions. We should use whatever works for the team while remaining open to alternatives.
I was just trying to propose a reproducible environment that can work the same way both on a developer machine and on a CI/CD setup. This is what I was aiming for.
Make does indeed add a dependency but combined with Docker it would also remove other stuff that exist only for addressing the issue of reproducible building environment. I'm thinking of cross-env and rimraf.
Now I'm not particularly fussed. If there's no interest in this I'm totally fine with it :-)

I think a discussion around "how we can improve the tooling" is needed here,
I wouldn't really close this issue... some of the building tools don't necessarily reflect the state of the art.
It's just a matter of finding the way to go!

Sure when you know what better means I'll be happy to chip in.


Issue with k8s.io/docs/tutorials/kubernetes-basics/deploy-interactive/

This is a...

[ ] Feature Request
[ x] Bug Report

Problem:
kubectl proxy doesn't work (never finishes)
Proposed Solution:
Page to Update:
http://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-interactive/

@BenHall 👋

Thank you for the feedback. This is by design on how kubectl proxy works. All the future commands launch in a separate terminal window while Kubectl Proxy is running.
We should make this clearer in the scenario text itself.

Related to #5138

related (original) issue: #1561

Hi Wolfgang,
This bug matches closely other bugs reported against the use of kubectl proxy in the tutorial's hosted at Katacoda. I have a PR pending to resolve, and am closing this bug to focus conversation on the earliest report of this issue: https://github.com/kubernetes/kubernetes.github.io/issues/1561
Please comment at https://github.com/kubernetes/kubernetes.github.io/issues/1561, or subscribe to that bug, to get updates as we work on resolving this.


Fix using LLD as linker for Linux

Fixes #11. Linux (including Android) now uses the same pre-main approach as Windows.

@thomcc I plan to make a change that removes the linkme dependency in favor of this. I wanted to fix #11 first.


I had added new algorithm

I had create readme file and c++ \file containing the program of Rotated sorted array

add issue number and create new PR


⚠ Shadow Does Streams has degraded performance

In b4f8709, Shadow Does Streams (https://stream.everythingbagel.me) experienced degraded performance:

HTTP code: 200
Response time: 3292 ms

Resolved: Shadow Does Streams performance has improved in 1012c49 after 8 minutes.


[material-ui] Use interface instead of type for props

fixes #40427
build before: PopperProps usage is replaced by its value with React.ElementType<...>
export type PopperProps = Omit<BasePopperProps, 'direction'> & {
    /**
     * The component used for the root node.
     * Either a string to use a HTML element or a component.
     */
    component?: React.ElementType;
    /**
     * The components used for each slot inside the Popper.
     * Either a string to use a HTML element or a component.
     * @default {}
     */
    components?: {
        Root?: React.ElementType;
    };
    /**
     * The props used for each slot inside the Popper.
     * @default {}
     */
    componentsProps?: BasePopperProps['slotProps'];
    /**
     * The system prop that allows defining system overrides as well as additional CSS styles.
     */
    sx?: SxProps<Theme>;
};
declare const Popper: React.ForwardRefExoticComponent<Omit<BasePopperProps, "direction"> & {
    /**
     * The component used for the root node.
     * Either a string to use a HTML element or a component.
     */
    component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
    /**
     * The components used for each slot inside the Popper.
     * Either a string to use a HTML element or a component.
     * @default {}
     */
    components?: {
        Root?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
    } | undefined;
    /**
     * The props used for each slot inside the Popper.
     * @default {}
     */
    componentsProps?: BasePopperProps['slotProps'];
    /**
     * The system prop that allows defining system overrides as well as additional CSS styles.
     */
    sx?: SxProps<Theme> | undefined;
} & React.RefAttributes<HTMLDivElement>>;

build after: PopperProps is used, no usage of React.ElementType<...>.
export interface PopperProps extends Omit<BasePopperProps, 'direction'> {
    /**
     * The component used for the root node.
     * Either a string to use a HTML element or a component.
     */
    component?: React.ElementType;
    /**
     * The components used for each slot inside the Popper.
     * Either a string to use a HTML element or a component.
     * @default {}
     */
    components?: {
        Root?: React.ElementType;
    };
    /**
     * The props used for each slot inside the Popper.
     * @default {}
     */
    componentsProps?: BasePopperProps['slotProps'];
    /**
     * The system prop that allows defining system overrides as well as additional CSS styles.
     */
    sx?: SxProps<Theme>;
}
declare const Popper: React.ForwardRefExoticComponent<PopperProps & React.RefAttributes<HTMLDivElement>>;
export default Popper;

[ ] I have followed (at least) the PR section of the contributing guide.

Thanks for looking into it. I suppose there is no straightforward way to add a test for this, right?

I guess there is but it would require some amount of effort. The idea is to use the build and run tsc with both React v17 and v18.

The idea is to use the build and run tsc against both React v17 and v18.

Yep, that doesn't fall under what I meant with "straightforward" 😄


Test tide again.

I set the kitex-contrib/test-infra merge setting to allow all types of merge to be merged.
And open this pr to test.

Close this pr for new testing.


bug removed

Related Issue
bug removed
Closes: #1715
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Checklist:

[x ] My code follows the style guidelines of this project.
[x ] I have performed a self-review of my own code.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] I have made corresponding changes to the documentation.
[x ] New and existing unit tests pass locally with my changes.

Screenshots
Put any screenshot(s) of the project here.

@Vishal-raj-1 Sir Please review my PR .

@Vishal-raj-1 Sir can you take a look at the PR #1645 . I think the level of issue can be changed  only if you agree .

thank You so much @Vishal-raj-1 Sir for consideration


NPE is thrown when executing use case ValidateRouteLongNameDoesNotContainOrEqualShortName

Describe the bug
When running the validator on the dataset from MBTA, a NPE is thrown
To Reproduce
Steps to reproduce the behavior, including input data sample if applicable:
Run validator with the following configuration :
-u https://transitfeeds.com/p/mbta/64/latest/download -z input.zip -e input -o output
Expected behavior
Dataset should be validated, without throwing NPE
Witnessed behavior
Method .contains is applied on null parameter. The filter on route should be extended to routes with non-null route_short_name.
Screenshots

Environment used

OS: macOS Catalina
Java version: javac 11.0.5

Closing, outdated with v2 architecture

Closing, outdated with v2 architecture


Lagoon logs concentrator hpa v2

This change bumps the autoscaling API used by the lagoon-logs-concentrator HPA to autoscaling/v2.
This is a breaking change because it means the chart no longer supports kubernetes < 1.23.
https://kubernetes.io/docs/reference/using-api/deprecation-guide/#horizontalpodautoscaler-v126

closed in #542


Spring Rmi Plugin

Please answer these questions before submitting a pull request

Why submit this pull request?

[ ] Bug fix

[x] New feature provided

[ ] Improve performance

Related issues
Closes apache/skywalking#3830

Bug fix

Bug description.

How to fix?

New feature or improvement

Describe the details and related test reports.

rat check fails, please recheck your license header.

rat check fails, please recheck your license header.

ok


Is there a license for this repo?

This looks like a helpful library, any chance you could add a license to it please?

done :D

awesome - thanks!


Disable drug validation

We should allow users to enter any drug name they want with only minimal validation, rather than requiring them to use an existing drug name.

Done!


ROX-26821: Adding operator version to Compliance schedule creation

Description

This PR adds the "Operator version" to the Compliance Schedule creation flow. The banner at the top of the page informs the user which versions will work for Reporting.
User-facing documentation

[x] CHANGELOG is updated OR update is not needed
[ ] documentation PR is created and is linked above OR is not needed

Testing and quality

[ ] the change is production ready: the change is GA or otherwise the functionality is gated by a feature flag
[x] CI results are inspected

Automated testing

[ ] added unit tests
[ ] added e2e tests
[ ] added regression tests
[ ] added compatibility tests
[ ] modified existing tests
[x] no changes

How I validated my change

/retest

/retest-required

/retest


podman machine not running in UI

Steps to reproduce
Run from a Windows terminal:
podman machine list
NAME                     VM TYPE     CREATED        LAST UP            CPUS        MEMORY      DISK SIZE
podman-machine-default*  wsl         8 minutes ago  Currently running  16          640.4MB     737.1MB

From Podman Desktop Companion go to Machines tab:
Name                     VM Type     Active         Running            Last Up            Created
podman-machine-default   wsl         Yes            No                 8 minutes ago      true

Actual
Running is No and can't open terminal console
Expect
Running is Yes and can open terminal console
Versions
OS: Windows 11
podman: 4.1.0
Podman Desktop Companion: 4.0.3-rc5
Note: could include all infos (CPUs, Memory, Disk Size etc)

I think I fixed this in next release - as for the terminal, sorry, it never worked on windows.
In next release I finally added it, it will support only Windows Terminal opening as new tabs, no ancient shell :1234:

See https://github.com/iongion/podman-desktop-companion/releases/tag/4.1.0-rc.9


Remove use of Unsafe from Ringbuffer & Util

For #345 we aim to remove dependency on sun.misc.Unsafe
Change the RingBuffer to use a plain array access instead of using Unsafe, which appears to have been used in an attempt at speed gains only, no concurrency focus.
I have also added a start of a benchmark on array access to try standard, Unsafe, VarHandle, and MethodHandles to compare. It seems that standard array access is the winner.
As this was the last use of Unsafe in the main code, Util::getUnsafe could be removed from the main source and put in as a test util, given we still use Unsafe in tests (primarily for benchmarking and concurrency verification).

A bit of inlining makes the difference between the benchmarks a bit clearer:
public Object standardArrayAccess(final ThreadPinningState t) {
    final int nextSequence = sequence++ & INDEX_MASK;
    return entries[nextSequence];
}

vs
public Object unsafeArrayAccess(final ThreadPinningState t) {
    final int nextSequence = sequence++ & INDEX_MASK;
    final int entryOffset = baseOffset + nextSequence * scale;
    return UNSAFE.getObject(entries, entryOffset);
}

Running with -prof perfasm shows the difference in the generated assembly:
standardArrayAccess:
mov    0x58(%rsp),%r10
mov    0x18(%r10),%r10d   ;*getfield entries {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::standardArrayAccess@1 (line 123)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@19 (line 123)
mov    0x58(%rsp),%r11
mov    0xc(%r11),%r9d     ;*getfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::getNextSequence@2 (line 152)
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::standardArrayAccess@5 (line 123)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@19 (line 123)
mov    %r9d,%r11d
and    $0x3f,%r11d        ;*iand {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::getNextSequence@13 (line 152)
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::standardArrayAccess@5 (line 123)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@19 (line 123)
inc    %r9d
mov    0x58(%rsp),%r8
mov    %r9d,0xc(%r8)      ;*putfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::getNextSequence@8 (line 152)
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::standardArrayAccess@5 (line 123)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@19 (line 123)
mov    0xc(%r12,%r10,8),%r8d  ; implicit exception: dispatches to 0x00007ff570441344
cmp    %r8d,%r11d
jae    0x00007ff570441301  ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
                          ; - org.openjdk.jmh.infra.Blackhole::consume@3 (line 314)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@22 (line 123)
shl    $0x3,%r10
mov    0x10(%r10,%r11,4),%r11d
mov    %r11,%rdx
shl    $0x3,%rdx          ;*aaload {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::standardArrayAccess@8 (line 123)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@19 (line 123)
mov    (%rsp),%rsi
callq  0x00007ff5688b1d80  ; ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [88]=Oop [0]=Oop }
                          ;*invokespecial consumeFull {reexecute=0 rethrow=0 return_oop=0}
                          ; - org.openjdk.jmh.infra.Blackhole::consume@15 (line 317)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_standardArrayAccess_jmhTest::standardArrayAccess_thrpt_jmhStub@22 (line 123)
                          ;   {optimized virtual_call}

unsafeArrayAccess:
mov    0x48(%rsp),%r10
mov    0x18(%r10),%r11d   ;*getfield entries {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::unsafeArrayAccess@4 (line 129)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_unsafeArrayAccess_jmhTest::unsafeArrayAccess_thrpt_jmhStub@19 (line 123)
mov    0xc(%r10),%r10d    ;*getfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::getNextSequence@2 (line 152)
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::unsafeArrayAccess@12 (line 129)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_unsafeArrayAccess_jmhTest::unsafeArrayAccess_thrpt_jmhStub@19 (line 123)
shl    $0x3,%r11
mov    %r10d,%r8d
and    $0x3f,%r8d
mov    0x48(%rsp),%r9
imul   0x10(%r9),%r8d
add    0x14(%r9),%r8d
inc    %r10d
mov    %r10d,0xc(%r9)     ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
                          ; - org.openjdk.jmh.infra.Blackhole::consume@3 (line 314)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_unsafeArrayAccess_jmhTest::unsafeArrayAccess_thrpt_jmhStub@22 (line 123)
movslq %r8d,%r10
mov    (%r11,%r10,1),%r11d
mov    %r11,%rdx
shl    $0x3,%rdx          ;*invokevirtual getObject {reexecute=0 rethrow=0 return_oop=0}
                          ; - sun.misc.Unsafe::getObject@5 (line 198)
                          ; - com.lmax.disruptor.ArrayAccessBenchmark::unsafeArrayAccess@22 (line 129)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_unsafeArrayAccess_jmhTest::unsafeArrayAccess_thrpt_jmhStub@19 (line 123)
mov    0x38(%rsp),%rsi
xchg   %ax,%ax
callq  0x00007feca88b1d80  ; ImmutableOopMap{[48]=Oop [56]=Oop [64]=Oop [72]=Oop [0]=Oop }
                          ;*invokespecial consumeFull {reexecute=0 rethrow=0 return_oop=0}
                          ; - org.openjdk.jmh.infra.Blackhole::consume@15 (line 317)
                          ; - com.lmax.disruptor.jmh_generated.ArrayAccessBenchmark_unsafeArrayAccess_jmhTest::unsafeArrayAccess_thrpt_jmhStub@22 (line 123)
                          ;   {optimized virtual_call}

Trying to unpick it...
standardArrayAccess:
mov    0x58(%rsp),%r10
mov    0x18(%r10),%r10d   ;*getfield entries {reexecute=0 rethrow=0 return_oop=0}
                          ; %r10d = entries field address

mov    0x58(%rsp),%r11
mov    0xc(%r11),%r9d     ;*getfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; %r9d = sequence field value

                          ; calculate nextEntryIndex
mov    %r9d,%r11d         ; copy sequence from %r9d to %r11d
and    $0x3f,%r11d        ; %r11d = %r11d & 0x3f = nextEntryIndex
                          ; I *think* the compiler has realised this must be a positive number,
                          ; so later eliminates the lower (negative index) bounds check on the array.

inc    %r9d               ; increment sequence in %r9d
mov    0x58(%rsp),%r8
mov    %r9d,0xc(%r8)      ;*putfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; sequence stored back in field

mov    0xc(%r12,%r10,8),%r8d  ; implicit exception: dispatches to 0x00007ff570441344
cmp    %r8d,%r11d
jae    0x00007ff570441301  ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
                           ; jae = Jump if above or equal
                           ; this is the upper bounds check on the array.

shl    $0x3,%r10
mov    0x10(%r10,%r11,4),%r11d      ; copy array object pointer from array entry to %r11d

standardArrayAccess:
mov    0x48(%rsp),%r10
mov    0x18(%r10),%r11d   ;*getfield entries {reexecute=0 rethrow=0 return_oop=0}
                          ; %r11d = entries field address

mov    0xc(%r10),%r10d    ;*getfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; %r10d = sequence field value

shl    $0x3,%r11

                          ; calculate nextEntryIndex
mov    %r10d,%r8d         ; copy sequence from %r10d to %r8d
and    $0x3f,%r8d         ; %r8d = %r8d & 0x3f = nextEntryIndex

mov    0x48(%rsp),%r9     ; %r9 = scale
imul   0x10(%r9),%r8d     ; %r8d = nextEntryIndex * scale
add    0x14(%r9),%r8d     ; %r8d = baseOffset + nextEntryIndex * scale

inc    %r10d              ; increment sequence in %r9d
mov    %r10d,0xc(%r9)     ; sequence stored back in field

movslq %r8d,%r10
mov    (%r11,%r10,1),%r11d  ; copy array object pointer from array entry to %r11d

You should be able to remove all of the bound checks with:
public Object standardArrayAccess(final ThreadPinningState t) {
    final int nextEntryIndex = sequence++ & (entries.length - 1);
    return entries[nextEntryIndex];
}

Most of the recent revisions of the JDK can elide the bounds check if the array length is used in the index calculation.  Unfortunately it does require reading the length of the array which can, in certain circumstances, create some false sharing with accesses into the first cache line of the array.  Preventing this (and some other false sharing) is the reason for padding at beginning and the end of the array.  Unfortunately adding the padding or caching the length mask in a field breaks this optimisation.  Hence, historically, why Unsafe was used here.
No ideal solution here, just selecting your preferred lesser evil.

I've had a look at the assembly for @mikeb01 's suggestion:
public Object standardArrayAccessNoBounds(final ThreadPinningState t) {
    final int nextSequence = sequence++ & (entries.length - 1);
    return entries[nextSequence];
}

Running with OpenJDK 64-Bit Server VM, 11.0.12+7, it does remove both the bounds checks, but replaces it with a check for zero-length arrays:
mov    0x58(%rsp),%r10
mov    0x18(%r10),%r11d   ;*getfield entries {reexecute=0 rethrow=0 return_oop=0}
                          ; %r11d = entries field address

mov    0xc(%r10),%r8d     ;*getfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; %r8d = sequence field value

mov    %r8d,%r9d          ; copy seqeuence to $r9d
inc    %r9d               ; increment sequence in %r9d
mov    %r9d,0xc(%r10)     ;*putfield sequence {reexecute=0 rethrow=0 return_oop=0}
                          ; sequence stored back in field

                          ; calculate nextEntryIndex
mov    0xc(%r12,%r11,8),%ecx  ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
mov    %ecx,%r10d         ; %r10d = entries.length
dec    %r10d              ; %r10d = entries.length - 1
and    %r8d,%r10d         ; %r10d = %r8d & %r10d = nextEntryIndex

test   %ecx,%ecx          ; check array-length is non-zero
jbe    0x00007fed6043d98d  ;*ifeq {reexecute=0 rethrow=0 return_oop=0}

shl    $0x3,%r11
mov    0x10(%r11,%r10,4),%r10d      ; copy array object pointer from array entry to %r11d


ImportError: cannot import name 'get_solution_step' from 'formalgeo.tools'

I am unable to run the interactive problem solving as mentioned in the readme file.
the error is: ImportError: cannot import name 'get_solution_step' from 'formalgeo.tools'
I have attached a screenshot

Please let me know how to resolve this issue. Thankyou

In version 0.0.3, formalgeo removed get_solution_step，remove its import:
from formalgeo.tools import get_solution_hypertree, get_theorem_dag

Delete line 72 and 73:
save_json(get_solution_step(solver.problem),
    os.path.join(path_logs, "run/problems/{}_{}_step.json".format(dataset_name, pid)))

I fix this bug in commit 7e5d457db23f06575899bb605351b3e503b065b1.


MacosThemeData should implement value equality

The MacosThemeData class does not implement value equality as ThemeData from the Material package does.
This causes _InheritedMacosTheme.updateShouldNotify to return true on every widget tree rebuild if, for example, the light theme and dark theme are instantiated the way they are in the MacosUI sample project.
class _InheritedMacosTheme extends InheritedWidget {
  // ignore: use_super_parameters
  const _InheritedMacosTheme({
    Key? key,
    required this.theme,
    required super.child,
  }) : super(key: key);

  final MacosTheme theme;

  /// Will always return true when MacosThemeData objects are instantiated inline in MyApp example below
  @override
  bool updateShouldNotify(_InheritedMacosTheme old) =>
      theme.data != old.theme.data;
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return MacosApp(
      theme: MacosThemeData.light(),
      darkTheme: MacosThemeData.dark(),
      themeMode: ThemeMode.system,
    );
  }
}

Steps To Reproduce
See https://github.com/superlistapp/super_editor/issues/1568

Alright, first of all, excuse the delay. All maintainers suffer from rather low bandwidth right now.
I’d like to notify you that I have received your issue and will try to allocate some time to it.


Refactor 6 lines occurring 2 times in 2 files: multiplex.go, split.go

I've selected for refactoring 6 lines of code which are duplicated in 2 file(s) (1, 2).  Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Code Once guideline rating! 👍
Here's the gist of this guideline:

Definition 📖
Do not copy code.
Why❓
When code is copied, bugs need to be fixed in multiple places. This is both inefficient and a source of regression bugs.
How 🔧
Avoid duplication by never copy/pasting blocks of code and reduce duplication by extracting shared code, either to a new unit or introduce a superclass if the language permits.

You can find more info about this guideline in Building Maintainable Software. 📖

ℹ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲  next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁

Good luck and happy coding! :shipit: :sparkles: :100:

fixed by ae5c3e7ed8a84b2d67c3adae6bf75e3d1fd496ce


Corrected character count in gauge

Corrected the count of the symbols in the filled portion of a gauge.
The gauge could vary in width before the change.
Example:
Basically if you set width to 20 and had a value of 10, it would draw 9 pipes and 10 dashes which would only generate 19 characters.
When the bar was empty, it printed 20 dashes.
This is how the character count varied.
See: http://i.imgur.com/oczwChV.png

Let me run some tests on this, thank you for your contribution

Thank you for your suggestion, I came up with something a little different but ultimately the same thing. It will be updated in the next publish.


Fixed Wallet address truncate

Fixes #1900

Hi @whogonestopme662901 thanks for the PR update :)
Please see the attached picture; the left justified address doesn't really fit the overall aesthetic of the page.
At minimum; the text should be centred, but ideally, the two address lines would be the same length. In some phones; two lines wouldn't be enough so you'd need three.


Support Marked 9.0

Describe the bug
An error occurs when used with marked >=8.0
Error: node_modules/easymde/types/easymde.d.ts:103:32 - error TS2694: Namespace '"marked".marked' has no exported member 'MarkedOptions'.

103         markedOptions?: marked.MarkedOptions;

That's odd, they didn't mention any type changes in their changelog... https://github.com/markedjs/marked/releases/tag/v9.0.0

I'll try and find out what changed.

It's not broken in version 9, it's been broken since version 6.

Also getting the same issue:
Error: node_modules/easymde/types/easymde.d.ts:103:32 - error TS2694: Namespace '"redacted/node_modules/marked/lib/marked".marked' has no exported member 'MarkedOptions'.

103         markedOptions?: marked.MarkedOptions;
                                   ~~~~~~~~~~~~~

Also compiles with this change:
import { marked, MarkedOptions } from 'marked';
...etc
    interface RenderingOptions {
        codeSyntaxHighlighting?: boolean;
        hljs?: any;
        markedOptions?: MarkedOptions;
        sanitizerFunction?: (html: string) => string;
        singleLineBreaks?: boolean;
    }

@Ionaru  ping

or freeze at the maximum supported version

The marked dependency is already set to ^4.1.0, which means any version after that is unsupported. If there's a need to change the settings or renderer, I suggest matching the version.

I have tried to upgrade the version of marked, but ran into issues with modern JS syntax that the build system (Gulp, or a plugin) doesn't understand. Specifically a syntax error for a # marking a private method.
[12:43:56] SyntaxError: Unexpected token (2298:8) while parsing C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\marked\lib\marked.umd.js while parsing file: C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\marked\lib\marked.umd.js
    at DestroyableTransform.end [as _flush] (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\insert-module-globals\index.js:114:21)
    at DestroyableTransform.prefinish (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_transform.js:138:10)
    at DestroyableTransform.emit (node:events:514:28)
    at DestroyableTransform.emit (node:domain:551:15)
    at prefinish (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_writable.js:619:14)
    at finishMaybe (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_writable.js:627:5)
    at endWritable (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_writable.js:638:3)
    at Writable.end (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_writable.js:594:41)
    at DestroyableTransform.onend (C:\Users\Jeroen\Projects\easy-markdown-editor\node_modules\readable-stream\lib\_stream_readable.js:577:10)
    at Object.onceWrapper (node:events:628:28)

Because replacing the build system is not something easily done, and the supported version of marked is already set to ^4.1.0, I'm going to close this as 'not planned' and add a requirement to https://github.com/Ionaru/easy-markdown-editor/issues/447.


NIFI-3206: Add ifElse function to Expression Language

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] Have you written or updated unit tests to verify your changes?
[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[x] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[x] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Reviewing

+1
Visually verified code and did a contrib check build. In a standalone instance, I tested many different expressions using ifElse and all worked as expected. Thanks @mattyb149 I will merge it in.


min/max width fit-content is unable to render

Bug report
Describe the bug
min-width: fit-content and max-width: fit-content does not render properly.
To Reproduce
https://codesandbox.io/s/vigorous-albattani-gkroh?file=/src/App.js
Expected behavior
The styles listed in autocomplete should be able to used.
System information
@stitches/react 0.2.2

The declaration properties haven't been hyphen-cased looking at the CSS output for the example you provided.
--stitches{--:2 c-jjzHqH}@media{.c-jjzHqH{min-width:-moz-fit-content;minWidth:fit-content;max-width:-moz-fit-content;maxWidth:fit-content}}

The output is expected as we're passing camel cased names to toSizingValue: https://github.com/modulz/stitches/blob/canary/packages/core/src/convert/toSizingValue.js#L10 and not transforming them further.
As a potential fix may I suggest (would be v. happy to send in a PR if I'm thinking in the correct direction :D):

[ ] Hyphen casing the names in the declaration string returned by toSizingValue.
[ ] Adding a max-width: fit-content test case to universal-polyfill-prefixed-values.

Thanks for raising this. Validated it's an actual bug. We'll look into this.

Fixed in V1. Please refer to migration guide and changelog


Don't pull in libXtst on POSIX when NO_XTEST is set

Currently, the SysInfo package will pull in libXtst on POSIX systems regardless of whether or not NO_XTEST is set at build time.

I am sorry erikjwaxx. I do not know what is NO_XTEST.


Bump versions for v0.3.1

Rust bumped to v0.3.4 due to a few additional releases.

Summary

Release Note

Documentation

just waiting to confirm if anything else is needed for javascript, then we'll merge and we can start tagging releases.

thanks yall!


Add sourceWrap configuration option

It would be nice to have more options for the way purs-tidy wraps source lines. For example, if I have a long line in a file, it wraps it at the first space before the margin:
-- this
liftEffect $ setItem contractNicknamesLocalStorageKey $ encodeStringifyJson updatedContractNicknames

-- becomes
liftEffect $ setItem contractNicknamesLocalStorageKey $ encodeStringifyJson
  updatedContractNicknames

Which I understand is to give developers more control over where line breaks occur. However, I don't think this would be anyone's desired result for formatting this line. So far, I have worked around this by manually adding line breaks where I think it makes sense, which sort of defeats the purpose of the formatter in some ways. I have also just formatted a large codebase in one go, and now it is full of these oddities, which would be unreasonable to go through and fix by hand.
I would be really happy if there was a more "opinionated" or "smart" mode for line wrapping, so I never had to manually wrap lines. Something like: "sourceWrap": "manual | wrap | auto" where manual is no wrap, wrap is the current (default) behaviour, and auto wraps lines in an intelligent manner.
In terms of what this might look like... my idea is a 2 step process which involves first removing all user-added line breaks (except where syntactically required, like between top-level decls, within class bodies, inside do blocks, etc...) then repeated applying a set of rules to shorten lines that are too long.
Below I have some sample code to illustrate an example of this approach:
somefunc :: forall t1 t2. SomeClass t1 => SomeType1 t1 -> SomeType2 (t2 Int) -> MyResultType
somefunc firstArgument secondArgument = makeThing1
  <$> firstArgument
  <*> map someFunction secondArgument
  <|> makeThing2
  <$> map doSomethingThatHasALongName firstArgument
  <*> secondArgument

Some terminology I use here:

break: insert a line break at one occurance, e.g.this example is broken
this example is
  broken
this + example + is + broken
this + example + is
  + broken

chop: insert a line break at every occurancethis example is chopped
this
  example
  is
  chopped
this + example + is + chopped
this
  + example
  + is
  + chopped

Remove user-added line breaks

somefunc :: forall t1 t2. SomeClass t1 => SomeType1 t1 -> SomeType2 (t2 Int) -> MyResultType
somefunc firstArgument secondArgument = makeThing1 <$> firstArgument <*> map someFunction secondArgument <|> makeThing2 <$> map doSomethingThatHasALongName firstArgument <*> secondArgument

For each line, repeatedly apply the first applicable rule until no more changes are made:
a. If line is within print width, leave it alone.
b. Break on "=" and "::" (pre or post by config option)somefunc
  :: forall t1 t2. SomeClass t1 => SomeType1 t1 -> SomeType2 (t2 Int) -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument <|> makeThing2 <$> map doSomethingThatHasALongName firstArgument <*> secondArgument

c. Chop all lowest-precedence infix operators in the line:-- Chop on <|>
somefunc
  :: forall t1 t2
   . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2 <$> map doSomethingThatHasALongName firstArgument <*> secondArgument

-- Then on <$> and <*>
somefunc
  :: forall t1 t2
   . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> secondArgument

d. Chop function arguments-- changing the example a bit...
  somefunc
    :: forall t1 t2
    . SomeClass t1
    => SomeType1 t1
    -> SomeType2 (t2 Int)
    -> MyResultType
  somefunc firstArgument secondArgument =
    makeThing1 <$> firstArgument <*> map someFunction secondArgument
      <|> makeThing2
        <$> map doSomethingThatHasALongName firstArgument
-       <*> secondArgument
+       <*> myFunc call this instead of (passing secondArgument) directlySoWeGetALongFunctionCall

somefunc
  :: forall t1 t2
  . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> myFunc
        call
        this
        instead
        of
        (passing secondArgument)
        directlySoWeGetALongFunctionCall

e. Apply all rules inside parentheses-- changing the example a bit...
  somefunc
    :: forall t1 t2
    . SomeClass t1
    => SomeType1 t1
    -> SomeType2 (t2 Int)
    -> MyResultType
  somefunc firstArgument secondArgument =
    makeThing1 <$> firstArgument <*> map someFunction secondArgument
      <|> makeThing2
        <$> map doSomethingThatHasALongName firstArgument
        <*> myFunc
          call
          this
          instead
          of
-        (passing secondArgument)
+        (passing secondArgument $ that now has (veryVeryLong nested + parens that really start to stretchTheRealismOfThisExample into qestionablyTerritory))
          directlySoWeGetALongFunctionCall

-- Apply rule c within parens
somefunc
  :: forall t1 t2
  . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> myFunc
        call
        this
        instead
        of
        ( passing secondArgument
            $ that now has (veryVeryLong nested + parens that really start to stretchTheRealismOfThisExample into qestionablyTerritory)
        )
        directlySoWeGetALongFunctionCall

-- Apply rule d within parens
somefunc
  :: forall t1 t2
  . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> myFunc
        call
        this
        instead
        of
        ( passing secondArgument
            $ that
              now
              has
              (veryVeryLong nested + parens that really start to stretchTheRealismOfThisExample into qestionablyTerritory)
        )
        directlySoWeGetALongFunctionCall

-- Apply rule e within parens... apply rule c within inner parens
somefunc
  :: forall t1 t2
  . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> myFunc
        call
        this
        instead
        of
        ( passing secondArgument
            $ that
              now
              has
              ( veryVeryLong nested
                  + parens that really start to stretchTheRealismOfThisExample into qestionablyTerritory
              )
        )
        directlySoWeGetALongFunctionCall

-- Apply rule d within inner parens
somefunc
  :: forall t1 t2
  . SomeClass t1
  => SomeType1 t1
  -> SomeType2 (t2 Int)
  -> MyResultType
somefunc firstArgument secondArgument =
  makeThing1 <$> firstArgument <*> map someFunction secondArgument
    <|> makeThing2
      <$> map doSomethingThatHasALongName firstArgument
      <*> myFunc
        call
        this
        instead
        of
        ( passing secondArgument
            $ that
              now
              has
              ( veryVeryLong nested
                  + parens
                    that
                    really
                    start
                    to
                    stretchTheRealismOfThisExample
                    into
                    qestionablyTerritory
              )
        )
        directlySoWeGetALongFunctionCall

I know that this example doesn't cover the whole syntax, and I would be happy to collaborate on devising a more complete set of rules if you are interested in implementing something like this. I more wanted to propose a general approach that could be used to implement a more rigid / opinionated line wrapping scheme.

I think that something more opinionated belongs in a separate formatter, since I think you will just about have to fork the entire thing anyway based on this flag. I'm happy to try different things in very specific cases (such as applications on the rhs of a declaration).

Hey, I see your point about putting something so specific in this formatter. Maybe the default rules could be tweaked a little then? These two changes would solve 80% of the cases where I need to "manually" help the formatter:

Insert a line break before the rhs of a declaration if the line is too long:-- original:
handleAction (WelcomeAction welcomeAction) = toWelcome $ Welcome.handleAction welcomeAction

-- formatted (current behaviour)
handleAction (WelcomeAction welcomeAction) = toWelcome $ Welcome.handleAction
  welcomeAction

-- formatted (proposed behaviour)
handleAction (WelcomeAction welcomeAction) =
  toWelcome $ Welcome.handleAction welcomeAction

Chop all function arguments, not just the ones that go over width (and do the same with type arguments)-- expression example:
-- original
assign _subState $ Right $ Dashboard.mkInitialState addressBook walletDetails followerApps contractNicknames currentSlot

-- formatted (current behaviour)
assign _subState $ Right $ Dashboard.mkInitialState addressBook walletDetails
  followerApps
  contractNicknames
  currentSlot

-- formatted (proposed behaviour)
assign _subState $ Right $ Dashboard.mkInitialState
  addressBook
  walletDetails
  followerApps
  contractNicknames
  currentSlot

-- type example:
-- original
runForm
  :: forall slots m input a
   . Functor m
  => Form slots m input a
  -> input
  -> Free (FormF input m) (Tuple (Maybe a) (Array (H.ComponentHTML input slots m)))

-- formatted (current behaviour)
runForm
  :: forall slots m input a
   . Functor m
  => Form slots m input a
  -> input
  -> Free (FormF input m)
      (Tuple (Maybe a) (Array (H.ComponentHTML input slots m)))

-- formatted (proposed behaviour)
runForm
  :: forall slots m input a
   . Functor m
  => Form slots m input a
  -> input
  -> Free
      (FormF input m)
      (Tuple (Maybe a) (Array (H.ComponentHTML input slots m)))

This rule exists because it's extremely common to having hanging parameters, like:
example = foo bar baz
  { quux = ...
  }

example = foo bar baz do
  quux

example = foo bar baz case _ of
  Quux -> ...

-- etc

instead of
example = foo
  bar
  baz
    { quux = ...
    }

example = foo
  bar
  baz
  do
    quux

example = foo
  bar
  baz
  case _ of
    Quux -> ...

-- etc

I think it's fair to say that there could potentially be different rules based on whether or not something is reflowed based on source newlines vs width constraints. That distinction is not currently made explicit though.


Reversed proxy for Websocket should support control base on uri

A backend server listens on a port 3000, serving for both common HTTP requests and WebSocket communication with a special URI (eg. /api/live/ws). Currently, the Websocket proxy does not support control based on a special URI path.
Describe the solution you'd like
the WebSocket proxy can support control based on a special URI path.
Additional context
Run Grafana behind a reverse proxy:
https://grafana.com/tutorials/run-grafana-behind-a-proxy/

WebSocketProxy has a lot of update in the past year. For more information about it, please check: here


Cannot edit across a liveshare session with latest version.

Edits made by users on 1.0.1587 are not visible to other users on this or previous versions.
We have tried with all participants on 1.0.1587 and with some on previous versions. Whether the user with 1.0.1587 hosts or joins a session, their edits do not propagate to others.
If a user with 1.0.1587 joins a session with a user on the previous version, edits from the previous version propagate to all users.
Cursor movement works as expected.

Same here

+1 on having this issue.
Have tried hosting a session and joining my own session, but no difference.
VSCode (Mac) v1.42.0

+1 same version same problem

+1 same.. on both stable and insiders

Thanks for reporting! We're looking into it and will have a fix out ASAP.

+1

Working if you rollback to 1.0.1510

thanks for your help with this issue! We just published an update to the Live Share extension (v1.0.1615) that should address this.


Landscape mode, font size increases causing overflow

Landscape mode, font size increases causing overflow

I also appeared, the current flutter version is 3.19.5

the same issue

I thinks it's happens because in 3.9.0 fontSizeResolver calculate scale by width, and in landscape mode width very large and scale factor more 2. You can try override fontSizeResolver like this https://github.com/OpenFlutter/flutter_screenutil/issues/558#issuecomment-2047043378 and in landscape mode will calculate by screenSize.height / designSize.width

I thinks it's happens because in 3.9.0 fontSizeResolver calculate scale by width, and in landscape mode width very large and scale factor more 2. You can try override fontSizeResolver like this #558 (comment) and in landscape mode will calculate by screenSize.height / designSize.width

I applied this and it worked perfectly for my case!


Fix compilation on arm and aarch64 hosts.

And add cross-compilation testing for same.
Fixes #25 and #26.

Simple solution, works great, thanks.


Drop Requires

@ChrisRackauckas this increases loading time from 2 to 3 seconds on my computer, but I'll merge anyway if you think it's worth it. Odds are most people are using ForwardDiff, SpecialFunctions, and ChainRulesCore anyway, at least indirectly.

Is that the change in load time when including the using of the 3 packages being Requires'd??

Is that the change in load time when including the using of the 3 packages being Requires'd??

Using all four packages, the time went down from 3.2 to 3.1 seconds.

The margin is similar for using OrdinaryDiffEq. On master, I get 6.79 s vs 6.65 s on this PR.
OrdinaryDiffEq is probably used at least 10x more often, so probably an overall win here?

The margin is similar for using OrdinaryDiffEq. On master, I get 6.79 s vs 6.65 s on this PR.
OrdinaryDiffEq is probably used at least 10x more often, so probably an overall win here?

Yeah, I'd be curious to figure out how it's still at 3 seconds though.

1.5s comes from VectorizationBase.
0.15s can be shaved off by removing the precompiles from LoopVectorization.
I don't think it's worth spending too much time on this. The long term plan is for us to all move away from LoopVectorization and the entire JuliaSIMD ecosystem, so every effort spent here will be for the short term only, and I don't think that's really worth our time.
But easy wins are always nice.

I don't think it's worth spending too much time on this. The long term plan is for us to all move away from LoopVectorization and the entire JuliaSIMD ecosystem, so every effort spent here will be for the short term only, and I don't think that's really worth our time.

Just curious, is the JuliaSIMD ecosystem (including LoopVectorization) going to be built-in in Julia itself?

I don't think it's worth spending too much time on this. The long term plan is for us to all move away from LoopVectorization and the entire JuliaSIMD ecosystem, so every effort spent here will be for the short term only, and I don't think that's really worth our time.

Just curious, is the JuliaSIMD ecosystem (including LoopVectorization) going to be built-in in Julia itself?

I'm rewriting it to work at the LLVM level.
It'll no longer use any of the existing JuliaSIMD ecosystem, and fix many of the associated problems, the major highlights being:

lower latency
it'll support loop carried dependencies
it'll support non-rectangular loop nests
it'll support multiple loops at the same level of a nest

It'll exist as a separate package for at least a while.
But depending on how things go, it is conceivable that people will be interested in getting it into base Julia and dropping OpenBLAS. But I do not expect that to happen any time soon, and would also expect a lot of opposition to a change that radical.

fixes #374
Not sure if commenting on the PR is enough for the issue to be closed automatically once the PR merges, but I'll find out.

Not sure if commenting on the PR is enough for the issue to be closed automatically once the PR merges, but I'll find out.

@chriselrod I think you need to add "fixes #374" to the PR body (i.e., edit the first comment in the PR) for it to close the issue.


App is seen with type "any" when imported

Hello 👋, I'm building a small demo repo including full ESM support + Typescript and I have an issue with tinyhttp.
Describe the bug
When importing App from @tinyhttp/app, the type is any.
To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/jgoux/acme
Run yarn
Go to https://github.com/jgoux/acme/blob/main/apps/api/src/index.ts#L7

Expected behavior
The App should be strongly typed, not as any
Versions

node: 16.15.0
@tinyhttp/app: 2.0.20

Additional context

@talentlessguy Sorry maybe my monorepo starter isn't a great repro.
Here is one more scoped with the bare minimal files showing the issue: https://github.com/jgoux/tinyhttp-repo
Maybe it's something due to TypeScript 4.7 "module": "NodeNext" which introduced changes in how ESM modules are seen?
@tinyhttp/app is the only ESM module that causes this issue in my monorepo example.

aight, could you submit a PR then to fix this?

Ok I have some news, I got help on TypeScript's Discord.
The main issue is that in ESM, local files should be imported with their extension explicitly (even in TypeScript):

https://www.typescriptlang.org/docs/handbook/2/modules.html#modules-in-typescript
https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#how-can-i-make-my-typescript-project-output-esm

It's not enforced right now because of "moduleResolution": "Node" in https://github.com/tinyhttp/tinyhttp/blob/master/tsconfig.json#L15
I think the best course of action would be to bump TS to 4.7 and use "moduleResolution": "NodeNext".
Also, all the imports targeting local files will need to include their full path, including the .js extension.


Registration Service - Participant onboarding - Accepts only verifiable credentials signed by a trusted party (fixed certificate, no PKI)

Feature agera-edc/MinimumViableDataspaceFork#24
After #12
Description
During participant onboarding registration service should only accept verifiable credentials which are signed by trusted party (GAIA-X).
Acceptance Criteria

[ ] Update ADR about enrollment endpoint if required. (#209)
[ ] A signed Gaia-X membership Verifiable Credential is issued to MVD participants which will be required for joining the MVD
[ ] Registration service only accepts verifiable credentials which are signed by trusted party (GAIA-X)
[ ] Test coverage

Tasks

[ ] Update ADR
[ ] Create membership credentials which are signed by GAIA-X.
[ ] Registration service verifies credentials by looking at GAIA-X signed.\
[ ] Test coverage.

@zeier moving this story out of feature #24 as it is not feasible with the current EDC policy engine. Should we create a follow-up upstream feature for it?


Swift 4 and Xcode 9

@hkellaway looks like it passed!

@andrewjmeier great! can you actually re-submit this PR against the swift_4.0 branch?
after merging that, i'll attempt to release a beta version to cocoapods
until then, you can always point to your own Gloss branch/commit in your applicatin's Podfile to continue using the library (unless you're using it as a subspec in your own pod)

@hkellaway I changed the branch to swift_4.0

@andrewjmeier this is no longer passing Travis :/ Invalid redeclaration of 'init()'

Ah rip. @hkellaway hopefully that fixes it. I didn't realize there were already changes in the swift 4 branch.

fyi - version 2.0.0-beta.1 has been released with these updates 🎉


Unclear how to treat multiple query parameters

what is relationship for query params name, alias, description and metadata for /nodes endpoint. Is it OR or AND or something more complex? It's not explicit from the documentation.
should we treat those queries as contains/like or equal operations? (e.g. two beacons with name beacon-1 and beacon-2 and query name=beacon are we supposed to return nothing because non exactly match or both because both contains substring beacon? I would expect second behaviour.

Consult search API and consider removing (+1 from Rishi and Miro).

This can be closed once #31 is resolved


Remove the need for a custom field for sw_version

Instead of adding custom fields to the device model, you can create a new model that models host software version.
I do something similar with ACL to interface assignments.  It is not 100% like your model because I have an ACL linked to only 1 host(vm, device, virtual_cluster), and than that said ACL can be assigned any interface assigned to that "host"
https://github.com/ryanmerolle/netbox-acls/blob/dev/netbox_acls/models/access_lists.py#L90-L155

You can show the info on the devce/virtual chasses/virtual machine object using cards for compatibility with any netbox install earlier than 3.4 OR you can use the new view tab for 3.4.

As I mentioned I am happy to tackle some of these issues if you want to assign any to me.


2.x Optimize post date filters

Ticket: #2137
Issue
In version 4.6, WordPress added additional parameters for some of the filters that we also apply.
Solution
Let’s update the applied filters with the new parameters. And add some more documentation.
But behold. Sometimes these filters expect a WP_Post object as the last parameter. I think we can’t return $this / the Timber\Post object, because that could lead to compatibility issues in case any plugin uses this filter.

get_the_date – Expects int|WP_Post The post object or ID.
get_the_modified_date – Expects WP_Post|null WP_Post object or null if no post is found.
get_the_time – Expects int|WP_Post The post object or ID.
get_the_modified_time – Expects WP_Post|null WP_Post object or null if no post is found.

As you can see, get_the_modified_date and get_the_modified_time expect either a WP_Post or null. So we can either return null or return a WP_Post by using get_post( $this->ID ).
Impact
See Considerations.
Usage Changes
None. Except better compatibility with WordPress.
Considerations
When we use get_post(), WordPress will get the post from the cache. However, there might be a performance impact when some additional filters are applied. I expect this to be marginal. Still, we should probably strive for best performance.
The alternative would be to return null.
What other alternatives do we have?
Testing
None.

@gchtr looks good to me. On the Q of get_post, I think the only alternative would be to store the results of that directly on the Post object. How much does that really save us?  I ran some tests and over 10,000 attempts to call modified_time the difference is about 5% (440 milliseconds vs 418) — and that's 10,000 calls to that method.
When I reduce the number of calls to 1 they both report a time of 0 milliseconds. My read is that this means that WP is storing the result of get_post somewhere, it just takes some time to access that cache.

FYI — I changed the base on this to 2.x b/c 2.x-post-date has already been merged in


cmd/compile: confusing error message for a bad rune value, eg. '\xe4\xb8\x96'

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
golang.org goplayground (1.8 I believe)
What operating system and processor architecture are you using (go env)?
I am using go playground from Firefox.
However for completeness:
GOARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
Firefox 53.0.2 (64-bit)
What did you do?
https://play.golang.org/p/NtvSPO4xx7
What did you expect to see?
An error message like:
"Badly formed Rune" or "Bad rune value" maybe even
"runes with values larger than 255, 0xFF, can't be defined using multiple \xhh values"
What did you see instead?
tmp/sandbox523565836/main.go:5: missing '
tmp/sandbox523565836/main.go:5: illegal character U+005C '\'
tmp/sandbox523565836/main.go:5: syntax error: unexpected xb8 at end of statement
tmp/sandbox523565836/main.go:5: newline in character literal
Issue Explanation/Justification
I think the Go compilers error messages are unnecessarily unhelpful or confusing.
The source doesn't look like there is a "missing ' ", it looks like there are a matching pair of single quotes.
The character U+005C '\' is legal in rune values, so that seems confusing.
In this example, the value xb8 is apparently in the middle of the rune, and so "syntax error: unexpected xb8 at end of statement" seems confusing.
The line doesn't look like there is a "newline in character literal".
A plausible behaviour might be to 'collect' all the characters up to and including an unescaped closing single quote (on the same line, and before a '//' comment mark), and treat all of those characters as part of the bad rune value.

For reference, go/types prints
runes.go:5:9: illegal rune literal

I'd be satisfied with "illegal rune literal". One message, terse, accurate.

As an aside ...
Is their a place which has all of the Go compilers error messages? If there is, my search didn't find it.
It would be nice to have all Go compiler error messages along with a brief explanation of a possible cause of the error in a web-searchable place.
I often paste error messages from software into a web browser's search box, but in this case it didn't find much help.
It might be a straightforward, well-bounded, task to ask the Developer Experience Working Group to solve.

I apologise for not understanding this, but why add it to Go1.10 milestone? Didn't that happened years ago?

Is their a 'place' explaining all of the Go compilers error messages

I don't think there is. I know Rust has something like that; and I agree that it could be nice to have something similar (even though Go is a simpler language and error messages usually are easy to understand; I rarely see people puzzled by a compiler error when programming in Go).

Explaining compiler error-messages might be a straightforward, well-bounded, activity to ask the Developer Experience Working Group to solve

I agree. You could ask for this on their mailing list.

I apologise for not understanding this, but why add it to Go1.10 milestone? Didn't that happened years ago?

The dot in the versioning number is not a decimal point, i.e. 1.10 is not 1.1. The sequence goes 1.1, 1.2, ..., 1.9, 1.10, 1.11, etc...
The next go version will be go1.9, and then we'll have go1.10. I can't assign this issue to the 1.9 milestone because the go1.9 development phase is finished (we're now in a code freeze); so this will be likely considered for go1.10 (unless someone decides that this is critical and needs to be fixed for go1.9).

Thank you for your very swift, clear and useful responses.
I'll think about asking on the mailing list. When I do, I have a small, but hopefully useful, additional idea.
I'd understood the 'dot' in the version is not a decimal point.
I hadn't known milestone names don't align with Go versions. So that is helpful to know.
It seems a very low-priority to have version and milestone names align. I imagine retaining flexibility to have them be different probably significantly outweighs any small gains.

Marking for 1.9 - easy enough to fix.

I'm going to close this. The 1.9 compiler already produces a nice error message. For
$ cat x.go
package main

func main() {
	r20 := '\xe4\xb8\x96'
}

we get
$ go tool compile x.go
x.go:4:9: invalid character literal (more than one character)

That is, this is fixed in the latest tools.
The go playground will be updated to 1.9 once 1.9 is released.


Next

Improved & updated website to be released with the re-release of Compiled.
Todo

[x] Fix bugs causing the site not to display correctly
[x] Fix sheet receiving invalid sheets
[x] Update documentation
[ ] Fix source maps not working

had some feedback from daz

[ ] "start with why" - reword hero benefits

Bake -> Better for component authors
Consume -> Better for consumers
Extract -> Better for the web

[ ] some of the sentences are too long. they could be halved by focussing on what matters - usually the bits after "because".

e.g.

Import and go! It could be a component published to NPM or defined in your app, no matter where or how its used because everything is baked in no bundler configuration is needed, server side rendering included.

can be cut down to

Components using Compiled always render exactly as authored on both server and client. No complicated configuration needed; just import and go!

[ ] This is the line you want at the start of the page, or at least a version of it:  component that can be used by anyone without needing to configure a bundler has now been built, everything is baked in and ready to go.

[ ] Remove passive text

[ ] Not sure if it's for SEO or smth, but I'd replace explicit references to webpack / parcel / etc with "[your bundler of choice](link to docs page discussing integration with bundlers)", otherwise it distracts and potentially confuses the point

[ ] The "Atomic CSS" page needs to start with the expected benefit, especially since it's linked in the hero line of the splash page. It's worth spending a bit more ink on why "atomic" styles are ultimately better as your site scales (e.g., logarithmic growth over time).

[ ] i'm wondering how grokkable the term atomic is in this context. frameworks like https://tailwindcss.com/ call them "utility classes". are there many external sites/authors/papers discussing the topic? (edited)

More feedback

Some super quick thoughts:
Home page doesn't really answer my two main questions. What does this library do, and how does it compare against others. https://deploy-preview-11--compiled-css-in-js.netlify.app/docs/what-is-compiled Answers the "what" a lot better, but is super hard to find. The home page links to installation which skips "what is compiled" you'd have to be looking for it yourself. Comparisons can be a bit cringe when done badly, but considering the size of the ecosystem, it might really help to draw comparisons
Dayuum, those code snippets are sliiiick. Especially being able to show the transformed code
Reading https://deploy-preview-11--compiled-css-in-js.netlify.app/docs/what-is-compiled again, I think it still needs more focus on calling out "what are the benefits here".
However we've seen scaling problems, unintended performance gotchas - death by a thousand cuts. Where the focus has been swayed towards the developer and away from the user.
We want more from our styling library and our users. We want to do everything we can at build time.
That's a bit handwavy and it buries the lede. Can we make this more obvious?

feedback from jamie https://gist.github.com/jamiebuilds/44cca28e6228286c1db579e7626850d0


[Enhancement]: Tile Game Images Not Loading

Is your enhancement request related to a problem? Please describe.➕
In tile game the images are not loading,
Describe the solution you'd like
Will fix by giving the proper URL to images
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

/assign

Hey @whiteknight16 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @whiteknight16 ! , This issue is already assigned to @whiteknight16. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @whiteknight16 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


FCM - didReceiveRegistrationToken broken

Description
Hi,
FCM delegate method didReceiveRegistrationToken is not being called on a first app launch until user gives APNS permission, if permission is not granted it won’t ever be called until the next app launch.
Steps to reproduce:

Prepare fresh iOS simulator (Erase All Content and Settings). In our tests it was iPhone 15 Pro iOS 17.5.
Launch an app there with FCM installed and configured with Swizzling enabled. Before that add some logging to didReceiveRegistrationToken.
See that didReceiveRegistrationToken never triggered.

Note: If we delete the app on the same device, without erasing the device, and then install the app again - everything works normally. So the issue can be reproduced only on a fresh devices.
The same we observe on production: all of our new users are without FCM tokens until they restart the app.
Reproducing the issue
No response
Firebase SDK Version
10.29.0
Xcode Version
15.4
Installation Method
Swift Package Manager
Firebase Product(s)
Messaging
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved
No response
If using CocoaPods, the project's Podfile.lock
No response

After more testing with and without Swizzling we see that FCM’s didReceiveRegistrationToken being called only after user gives APNS permission and APNS token is set (Messaging.messaging().apnsToken = …)
I’m not sure that this is expected behaviour, because the FCM docs says following:
By default, the FCM SDK generates a registration token for the client app instance on app launch. Similar to the APNs device token, this token allows you to send targeted notifications to any particular instance of your app.
(https://firebase.google.com/docs/cloud-messaging/ios/client#access_the_registration_token)
Considering this we are expecting FCM token on app launch, regardless of APNS permission.

Hi @iwwwh, it seems like this behavior has been changed since v10.6 due to the error in fetching the APNS token. You may check the discussion here for more info.

Hi @rizafran , thanks for the link provided, that’s exactly what we are observing and what we needed to understand. I guess a documentation may need some correction to point out that token won’t be generated on the app launch, but only after APNS token provided.
One more question if you don’t mind: we’ve used FCM for many years with standard setup with Swizzling enabled; today, just for testing purposes, we disabled Swizzling and made necessary changes for Firebase products to work without it. Should we leave Swizzling disabled? I guess it makes more sense because now everything is clear and visible, no hidden magic code. What’s a recommended approach?

Going forward, we recommend disabling Swizzling. We may eventually deprecate it in Firebase. Swizzling fits better into an Objective-C eco-system than a Swift one.

@paulb777 @rizafran , thanks for your help, really appreciate it!
I’ll be closing the ticket now.
Have a nice day!


Create ivelasq.rbind.io.json

Thanks for the opportunity to add my blog!

Not sure how to tag you @Athanasiamo, hope this comment is ok.

Thank you for adding your blog to the list and for making free and open R content 😊 🥳 🎉


ci: Hugo extended version in peaceiris/actions-hugo

Fixes the Hugo error in CI. The error message is:
Error: error building site: TOCSS: failed to transform "sass/main.scss" (text/x-scss). Check your Hugo installation; you need the extended version to build SCSS/SASS with transpiler set to 'libsass'.: this feature is not available in your current Hugo version, see https://goo.gl/YMrWcn for more information

If you go to the Hugo FAQ, you'll see the following explanation:

We release two set of binaries for technical reasons.
The extended version is not what you get by default
for some installation methods.
On the release page, look for archives with extended in the name.

We fix this by using the extended option in peaceiris/actions-hugo:
extended: true

Now the page should build with hugo.

Thanks!


connection timeout

why I set connection+timeout=0 ，the database immediately  closed? thanks
go 1.10 ,mssql 2008r2,window 10

what git revision are you using for this driver?

first ,restart your service ,second ,set DSN added connection timeout = 0,you can use heart beat test or keep alive to prove

set DSN Pooling=true;Max Pool Size=40000;Min Pool Size=0;


Not all accounts findable as administrator

When I tried to add "OSM Belgium" as an administrator to one of my Mapcontrib instances (account: "joost schouppe"), Mapcontrib couldn't find the account. I tried the other way around, and that was not a problem. The OSM Belgium account is not extremely new.

Hi @joostschouppe!
As the OSM API does not offer a way to search OSM users, that feature is based on the Who's that service. And the caveat is that the service is juste able to return OSM users who had already contribute to OSM.
Also, sometime the service can't find some users... I already opened an issue for that: https://github.com/Zverik/whosthat/issues/4
We will have to ask a new endpoint in the OSM API for that purpose anyway.


fix(helpers): display warning if attribute is cannot be highlighted/snippeted

Summary
This PR shows a helpful warning in dev environment when an attribute cannot be highlighted or snippeted.
It's an adaptation from a similar message in the custom highlight implementation in Angular.
Result

Yeah, since I want to use this as the basis for another task in Angular IS, I didn't want to go for a minor version update, but I'll follow what you think is best in this case.


#739 happens in 16.0.6

"Failed to find compilation database" due to a grand confusion over how .clangd file is written.
Logs
I[12:41:04.131] clangd version 16.0.6 (Fedora 16.0.6-2.fc38)
I[12:41:04.131] Features: linux
I[12:41:04.131] PID: 89382
I[12:41:04.131] Working directory: /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod
I[12:41:04.131] argv[0]: clangd
I[12:41:04.131] argv[1]: --log=verbose
I[12:41:04.131] argv[2]: --check=.clangd
V[12:41:04.131] User config file is /home/thek0tyara/.config/clangd/config.yaml
I[12:41:04.131] Entering check mode (no LSP server)
I[12:41:04.131] Testing on source file /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd
V[12:41:04.132] config note at /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd:2:2: Parsing config fragment
I[12:41:04.132] config warning at /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd:2:2: Unknown Config key 'HeaderSearch'
V[12:41:04.132] config note at /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd:1:0: Parsed 1 fragments from file
V[12:41:04.132] Config fragment: compiling /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd:2 -> 0x0000000003726270 (trusted=false)
I[12:41:04.132] Loading compilation database...
I[12:41:04.132] Failed to find compilation database for /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd
I[12:41:04.132] Generic fallback command is: /usr/bin/clang -resource-dir=/usr/lib64/clang/16 -- /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd
I[12:41:04.132] Parsing command...
V[12:41:04.134] Ignored diagnostic. /mnt/nvme2/home/thek0tyara/Projects/cpp/memmod/.clangd: 'linker' input unused
V[12:41:04.134] Ignored diagnostic. argument unused during compilation: '-Xclang -no-round-trip-args'
E[12:41:04.134] [fe_expected_compiler_job] Line 1: unable to handle compilation, expected exactly one compiler job in ''
I[12:41:04.134] internal (cc1) args are:
E[12:41:04.134] Failed to parse command line

System information
Output of clangd --version:
clangd version 16.0.6 (Fedora 16.0.6-2.fc38)
Features: linux
Platform: x86_64-unknown-linux-gnu; target=x86_64-redhat-linux-gnu

Editor/LSP plugin:
llvm-vs-code-extensions.vscode-clangd
Operating system:
Fedora release 38

--check expects a source file as an argument; running clangd --check=.clangd will try and parse .clangd as a C/C++ source file.
What are you actually trying to do?

That explains things.


Making grpcio install require fewer keystrokes.

Adding an import error with a nice failure message in gcloud.bigtable in the absence of grpcio
Making setup.py include grpcio conditional on being Python 2.7
Adding a warning to every single Bigtable docs page explaining that it can't be used outside of Python 2.7

/cc @jgeewax

LGTM

@jgeewax PTAL. /cc @tseaver

Minor comment re the banner -- otherwise LGTM :+1:

Issue #1858 tracks the DRYness issue.


Exand & collapse chart of accounts

When a top level account is clicked then the sub-accounts should expand like an accordion.

Reference
https://www.ag-grid.com/angular-data-grid/grouping-opening-groups/


Formatting of the time stamp could be better

If the count is one, (1 hour, 1 day, etc), the unit should be singular. (1 hour. Not 1 hours.)
Additionally, if it is more than 3 days ago, better to write the actual commit date in some standard format rather than showing 6 days ago, 1 month ago, etc.
Further, "1 day ago" could be replaced with yesterday.

[UPDATE] This issue has been fixed. Will be live with the next update.


allow user to skip number validation

The idea in allowing user to set cc-number="false" to disable cc validation.

Hi, thought about this and am not convinced it's a good idea. You've also got a lot of mistakes in the PR. You should never touch the package or build artifacts in a PR.

Why this isn't good idea? I need this functionality in my business logic, and there is no other ways to remove cc-number validation.
Is there any real reasons to decline this changes?

Not suggesting that your use case is invalid. This library has been around for a while and this is the first request I've ever gotten for this. You can just overwrite this validator with your own custom directive, maybe call it no-cc-number-validate. Add it after cc-number and just override the same key on ngModelController with your null implementation. That way you get what you want without cluttering the library with rarely used options.


IS 67 - Create Mock Up Documentation for Login Page

@Blakthorne This should have been pushed into dev my bad 🤦♂


Dashboard voucher form fails validation

In Chrome

Attempt to add a voucher that is not a Category or Product voucher.
Browser-side validation fails on hidden category and product fields.
To user, failure is invisible and silent - just appears to do nothing.

ProductVoucherForm and CategoryVoucherForm's init methods explicitly set those fields as required. Setting required to false removes this issue, but has the side effect of allowing product or category vouchers to be created without specifying a product or category.

@royal-mcb Could you check if the issue still occurs with latest code from master branch?
I can't recreate it - when I try to create a voucher for all products, everything works fine:

Cloned a new copy of the master branch, set up a new virtualenv and pip installed requirements.txt. I'm running on Ubuntu 14.04 with python2.7 and Django 1.10.1
In Chrome 53.0.2785.143, clicking the update button has no effect, and I get this error in dev console:

In Firefox 49.0.1 I get no errors in the console, but instead get the validation failure notice posted at the top left.

If I manually toggle all the voucher types one by one, and select a product and a category, the form then allows me to create whatever voucher type I want- because now the client sees that the 'required' fields have data in them, even if the backend ignores that data.

This looks like a bug in how controls are rendered in HTML. We should not depend on client side validation (or the required attribute).

I agree that client side validation shouldn't be depended upon, but I think it does make a nice preliminary check. Being fully client-side prevents a hit against the server, and, when it works, feels very responsive as a user.
The issue is that whatever javascript code which handles hiding the unused form elements doesn't add or remove the 'required' attribute programmatically-- and then browsers freak out about hidden required forms-- or worse, fail silently.
To be future-proof you'd want to, say, select all fields with the required attribute as they're being hidden, remove the attribute and mark them with a dummy css tag or something so that you know what they were, and then when you unhide them simply replace the dummy tag with the actual attribute.

You are right but there is currently no such code in place so triggering client side form validation is a bug.

@royal-mcb Now I managed to reproduce it, probably I was checking older version of the branch. This issue will be fixed soon.


Can't create a pull request, might be a problem on my end

Greetings,
I wanted to add support for Rhapsody to the extension and I have it working locally in a branch. When I tried to create a pull request, it told me I didn't have permission. My email is verified but I'm very new to github. Am I allowed to contribute?
Thanks

Rhapsody was renamed to Napster today, but I'd still like to make the edit if possible.

Hey @showmethebitcoin,
Yes you can contribute to projects.
summarized:

fork project
create branch
apply and commit changes
push to forked repo
create pull request

I also recommend to read the Guide: Contributing to a Project


Docker image built off of "dockerfile" results in a cyclic reference error at image boot

Image of issued command "docker build ." does not start properly.
The following error message was provided:
ERROR - \n\n***************************\nAPPLICATION FAILED TO START\n***************************\n\nDescription:\n\nThe dependencies of some of the beans in the application context form a cycle:\n\n┌─────┐\n| offeredResourceFactory defined in URL [jar:file:/app/app.jar!/BOOT-INF/classes!/io/dataspaceconnector/model/resource/OfferedResourceFactory.class]\n↑ ↓\n| offeredResourceService (field private io.dataspaceconnector.model.base.AbstractFactory io.dataspaceconnector.service.resource.base.BaseEntityService.factory)\n└─────┘\n\n
I guess this is a result of two incompatible jdks/images used interchangeably

Yes, the keystore seems to be loaded correctly. Looking at your Docker run configuration again, I think that the property names for the username and password are not correct. It should be:
SPRING_SECURITY_USER_NAME=****
SPRING_SECURITY_USER_PASSWORD=****

Thus, I think that the credentials for the admin user might not be overridden, so that when you log in with the credentials, you are logged in as an app (as the same credentials apply for the app user). The app user only has access to the /api/subscriptions endpoints, which could cause the 403 on /api/docs.

Hi @ronjaquensel,
I tried to use the default user and password to authenticate, and those worked!
But then I tried to change the 2 options as you specified, but the application breaks. Are you sure these are the correct names for the authentication variables?
This is the log that I get:
2021-08-30T08:29:16,205 [main] INFO - Importing configuration from file.
2021-08-30T08:29:16,970 [main] INFO - Initializing KeyStoreManager
2021-08-30T08:29:16,971 [main] INFO - Searching for keystore file file:///conf/<my keystore>.p12
2021-08-30T08:29:16,975 [main] INFO - Relative Path: conf/<my keystore>.p12
2021-08-30T08:29:16,975 [main] WARN - Could not load keystore from classpath, trying to find it at system scope!
2021-08-30T08:29:16,976 [main] INFO - System Path: /conf/<my keystore>.p12
2021-08-30T08:29:17,034 [main] INFO - Searching for keystore file file:///conf/truststore.p12
2021-08-30T08:29:17,034 [main] INFO - Relative Path: conf/truststore.p12
2021-08-30T08:29:17,035 [main] INFO - Loading KeyStore from ClassPath...
2021-08-30T08:29:17,157 [main] INFO - Trustmanager loaded
2021-08-30T08:29:17,176 [main] INFO - Creating ClientProvider
2021-08-30T08:29:19,356 [main] INFO - Creating WebMvcConfigurer bean with class io.opentracing.contrib.spring.web.interceptor.TracingHandlerInterceptor
2021-08-30T08:29:20,257 [main] WARN - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService' defined in class path resource [io/dataspaceconnector/config/security/MultipleEntryPointsSecurityConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.core.userdetails.UserDetailsService]: Factory method 'userDetailsService' threw exception; nested exception is java.lang.IllegalArgumentException: user should not exist
2021-08-30T08:29:20,277 [main] INFO - Closing JPA EntityManagerFactory for persistence unit 'default'
2021-08-30T08:29:20,279 [main] INFO - HikariPool-1 - Shutdown initiated...
2021-08-30T08:29:20,282 [main] INFO - HikariPool-1 - Shutdown completed.
2021-08-30T08:29:20,286 [main] INFO - Stopping service [Tomcat]
2021-08-30T08:29:20,307 [main] INFO - \n\nError starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-08-30T08:29:20,328 [main] ERROR - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService' defined in class path resource [io/dataspaceconnector/config/security/MultipleEntryPointsSecurityConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.core.userdetails.UserDetailsService]: Factory method 'userDetailsService' threw exception; nested exception is java.lang.IllegalArgumentException: user should not exist

Does the error still occur if you change SPRING_SECURITY_APP_NAME to a different value than SPRING_SECURITY_USER_NAME? Since the error occurs during the creation of the UserDetailsService, it might be because of the same username being used twice.

Hi. Thank you for your response.
I tried to change them so that spring.security.user and spring.security.app would have different credentials, and now it works! Thanks a lot.
What still bugs me is that I have another deployment of a slightly previous version and in there I have the same credentials, but this error does not occur. What's also different in the other deployment is that I'm building the docker image myself and I'm setting the options by changing application.properties, while in this case I'm running a pre-built image and I pass those options as environment variables.
I would expect them to have the same behavior, but something is different.
In any case, right not it works. Thank you!


CHART-218: Allow tabs when at the start of a list item;

This commit made it into Squire's repository, so I'm going to close this for now and wait until we grab the next release of Squire.


Add tests to catch + fix a bug in Chapter 4

Chapter 4 has a bug: it doesn't call flush when it's done processing a web page, meaning that in some circumstances the last line of text won't be printed. Classic buffer problem! I added tests for it and fixed it. Interestingly, the code for this never quite appears in the book, because it's a simple modification of Chapter 3, and Chapter 3 does have the necessary flush call.

Is this bug just in chapter 4?


feat: introduce ended property on Span

Which problem is this PR solving?
Allows a SpanProcessor and SpanExporter to check if a Span is ended or not.
Short description of the changes
Add a getter to Span and ReadableSpan to allow checking if the span is ended without using a private field or rely on internals like span.duration[0] < 0.
Refs: https://github.com/open-telemetry/opentelemetry-java/pull/693
Refs: https://github.com/open-telemetry/opentelemetry-java/pull/697

Codecov Report

Merging #625 into master will increase coverage by 3.69%.
The diff coverage is 100%.

@@           Coverage Diff            @@
##           master   #625      +/-   ##
========================================
+ Coverage   92.31%    96%   +3.69%
========================================
  Files         177    162      -15
  Lines        8728   8437     -291
  Branches      758    710      -48
========================================
+ Hits         8057   8100      +43
+ Misses        671    337     -334

Impacted Files
Coverage Δ

.../opentelemetry-exporter-jaeger/test/jaeger.test.ts
100% <ø> (ø)
:arrow_up:

.../opentelemetry-exporter-zipkin/test/zipkin.test.ts
100% <ø> (ø)
:arrow_up:

...entelemetry-exporter-jaeger/test/transform.test.ts
100% <100%> (ø)
:arrow_up:

packages/opentelemetry-tracing/src/Span.ts
100% <100%> (ø)
:arrow_up:

packages/opentelemetry-tracing/test/Span.test.ts
100% <100%> (ø)
:arrow_up:

...ges/opentelemetry-plugin-https/test/utils/utils.ts
33.33% <0%> (-26.67%)
:arrow_down:

...ckages/opentelemetry-core/src/common/NoopLogger.ts
40% <0%> (-20%)
:arrow_down:

...es/opentelemetry-node/src/instrumentation/utils.ts
90.47% <0%> (-9.53%)
:arrow_down:

...metry-core/src/trace/instrumentation/BasePlugin.ts
80.55% <0%> (-5.56%)
:arrow_down:

...core/src/context/propagation/BinaryTraceContext.ts
96.22% <0%> (-3.78%)
:arrow_down:

... and 47 more

I’m generally confused by the existence of the ReadableSpan type. The spec seems to assume that the exporters will be able to access all of the properties of the span, but it explicitly states that the span should not export properties other than its span context
I can’t find any mention of ReadableSpan in the spec. Our span is not spec compliant in this way as it also exports all properties of ReadableSpan which is actually explicitly disallowed in the spec.
https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/api-tracing.md#span says: “To prevent misuse, implementations SHOULD NOT provide access to a Span’s attributes besides its SpanContext”
I don’t know how other SIGs reconcile this, but my gut feeling is that they do the same thing we do, which is exporters/processors just assume the sdk span type and not the api type

Good catch!
There seems to be an inconsistency in existing code of @opentelemetry/tracing. SimpleSpanProcessor uses import { Span } from '../Span' - the implementation I modified.
But interface SpanProcessor uses import { Span } from '@opentelemetry/types' which I haven't touched - and touching it would be most likely a spec topic.
Span implementation is exported from @opentelemetry/tracing so it seems to be fine to use it in exporters.
But I think it needs some sort of clarifications if this is really intended. Personally I think isEnded is not needed in Api layer. But if it is there it should not harm as it may ease implementations in plugins which have several possible end events (e.g. an optional error event and a close event emitted).
I think the wording in spec is only regarding API not processor/exporter interface. If an exporter gets only the SpanContext vital information like start/end time and attributes would be missing.

As far as I know, and we just went through this with the xhr plugin, the plugins/exporters/spanprocessors should use the public api only because a third party tracer could be used which has a different implementation of Span.

@Flarna according to @mayurkale22 the export pipeline is tightly coupled with sdk, so it should be safe to use properties that are on our Span, but not in the public interface. If a third party sdk is plugged in, they will have to provide their own export pipeline.

AFAIK our SDK implementation is tightly coupled with export pipeline. If you're interested writing your own sdk, you get complete freedom on export pipeline.
Reg. this PR I would wait for the specs issue to get approved and merged: https://github.com/open-telemetry/opentelemetry-specification/issues/373

Looking closer into this I noticed that it's needed to update also types.Span.
According to spec  a SpanProcessor should get only a ReadableSpan but currently it gets a class Span.
I tried to correct this but it turns out that we can create a ReadableSpan only from class Span.
The label wait-for-spec is already set so that is fine.

The label wait-for-spec is already set so that is fine.

Is there a spec issue created for that?

I expect https://github.com/open-telemetry/opentelemetry-specification/issues/373 covers this.

@dyladan @mayurkale22 Is there any chance to move this forward?
I'm not that clear if we really have to wait on spec or not.
Or if the current mix between Api.Span, Core.Span and ReadableSpan and where they are used something we have to change?

This is all within the export pipeline which I have been informed by spec is an SDK-only concern so we can use non-API methods and properties within the export pipeline. This means we can just add a property/method to our span.
One side-effect of this is that it will tightly couple the export pipeline to our span implementation, which we have avoided so far. This may make it more difficult for a third party SDK implementation to take advantage of our export pipeline, but does not explicitly violate spec.
I think given all of that, we can move forward with this.

@dyladan So in short I should remove the changes in API (span.ts and NoopSpan.ts) but keep the rest as it is?

yes

@mayurkale22 let me know if that is an issue for you

Merged master and reverted API changes.

Add a getter to Span and ReadableSpan to allow checking if the span is ended without using a private field or rely on internals like span.duration[0] < 0

Are you planning to update this in separate PR?

Are you planning to update this in separate PR?

As @dyladan requested to remove the changes from API as they are not part of the spec it's not possible to use this within plugins. If they have the need to detect if a span is already ended they have to store it somewhere else. Unfortunately this is what the spec requires...

Looks like this is good to merge, just wanted to check with @dyladan on waiting-for-spec label.


Fix inconsistent padding for the menu button

Now I'm thinking that it is normal behavior. I do not really understand how it would be better to position this button.
If I will make margin of text and menu button, it would be strange.

So I'm about to leave it as it is, since it does not really affect user experience.

But also I would open an issue to add background for this menu button. I want to know your opinion, @ArtemSBulgakov

I think it's ok without background


BluetoothDevice.ConnectionStatusChanged is not invoking when gif is loaded to image

Describe the bug
Hi. We have encountered a strange bug in WinUI3. There is API Windows.Devices.Bluetooth to work with Bluetooth devices and we are interested in observing connection states. However, this event will never occur if there is an image with a GIF somewhere in the UI. With images (png) everything works fine. Also, we have tested in UWP and there is no such behavior. So how to fix it?
Steps to reproduce the bug

Open solution
On the main window set gif as the image source
The event will never occur

Expected behavior
The event will occur whether the gif or image is loaded.
Screenshots
No response
NuGet package version
Windows App SDK 1.6.0: 1.6.240829007
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
BannerBluetoothProblem.zip

Duplicate of microsoft/microsoft-ui-xaml#9969


UI: Add walking time indicator to JourneyCard

TL;DR
Added total walking time indicator to journey cards in the trip planner
What changed?

Added a new totalWalkTime field to TimeTableState
Implemented walking time calculation in TripResponseMapper
Added walking time indicator with icon to journey cards
Adjusted padding in the Origin/Destination component
Updated journey card previews with walking time examples

How to test?

Plan a trip that includes walking segments
Verify that the walking time indicator appears with the correct duration
Check that the walking icon is visible and properly aligned
Verify that trips without walking segments don't show the indicator
Test different journey combinations to ensure walking time calculations are accurate

Why make this change?
To provide users with clear visibility of the total walking time required for their journey, helping them make more informed decisions when choosing between different route options. This is particularly important for users with mobility considerations or when planning trips in unfamiliar areas.
Screenshots

#309  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ksharma-xyz and the rest of your teammates on  Graphite

Merge activity

Nov 6, 6:57 AM EST: Graphite rebased this pull request as part of a merge.


Template compiler doesn't handle whitespace correctly

Using the example straight from moon-bars page:
Moon.use(MoonBars)
new Moon({
    el: "#app",
    template: html`

hello from moon

        <bars
            m-literal:data="[5, 7, 4, 3, 5]"
            m-literal:fill="['#7bddd3', '#079af9']"
            height="40"
            width="100">
        </bars>

`,
    data: {}
})

(note html() is a no-op returning the string - there just for syntax highlighting)
the compiler chokes on the whitespace between the opening <bars and it's attributes.

This is a known issue, and will be fixed in v1.