use_spin feature requires nightly. Is this intentional?

The readme suggests that the use_spin feature does not require nightly, however it enables the nightly feature of spinning_top, which means that it relies on nightly and the const_fn rustc unstable feature. Is this an error in the readme, or in the enabling of the nightly feature on spinning_top?

Thanks for reporting! This is not intentional and compiling on stable should be checked on our CI normally, but it seems like the rust-toolchain file in this repo accidentally caused all tests to run on nightly. I'll look into it.


Add a strip_str method

A UTF-8 string with ANSI escapes stripped should continue to be valid UTF-8. So we should be able to define (after #9):
fn strip_str(s: impl AsRef<str>) -> String {
    strip(s.as_ref()).try_into().expect("UTF-8 string with ANSI escapes removed is valid UTF-8")
}

What do you think?

(Happy to submit patches for both the issues I filed! :) )

This seems very reasonable. I guess an alternate approach would be something like fn strip<T>(t: T) -> <T as ToOwned>::Owned where T: AsRef<u8>, T: ToOwned {} ? That might not be worth the headaches, though. :)

I'm not sure the invariant can be upheld for any arbitrary T, just for strings.


feat: support @Tags annotation with optimization

Description
Derived from https://github.com/VeryGoodOpenSource/very_good_cli/pull/522

Add support for a @Tags file annotation when running the test command with -x or -t parameters with optimization

Adding a wontfix because: https://github.com/VeryGoodOpenSource/very_good_cli/pull/522#issuecomment-1315738069


Refactor: addon dependency installation logic

Description of your changes

🤖 Generated by Copilot at f7b2920
Summary
🔧🧹➕

Refactor and enhance addon dependency installation logic in pkg/addon/addon.go. Simplify function return value, fix parameter bug, use more robust function, and remove redundant function.

install_deps changed
simpler, robust, bug-free
autumn of cleanup

Walkthrough

Simplify the return value of checkDependencyNeedInstall by removing depClusters (link)
Fix a bug in installDependency by passing the correct addonClusters to getDependencyArgs (link)
Replace checkDependencyNeedInstall with a new function checkDependencyAddonNeedInstall that has more comprehensive and accurate logic (link)
Remove getDependencyArgs as it is no longer needed (link)

Fixes #5967
I have:

[x] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested
vela addon enable rollout
vela addon enable rollout --clusters={lcoal, devops}
vela addon enable ./fluxcd --clusters={local}
vela addon enable rollout --clusters={local, devops}

Special notes for your reviewer
@wangyikewxgm

/retest go

/retest e2e-tests

/retest e2e-tests

/retest e2e-test

/retest e2e-test

@Somefive please help to review the https://github.com/kubevela/kubevela/pull/6065, this pr dependents it.


help extending bitarray to use 64-bit index

Per https://github.com/crystal-lang/crystal/issues/6640 I've been trying to modify bit_array.cr to use 64-bit index values, and keeping running into compiler errors.
Below is the relevant compiler (0.26.1) error messages.
in bitarray64.cr:89: instantiating 'BitArray64#[](Tuple(Int64, Int32))'

    self[*Indexable.range_to_index_and_count(range, size)]
        ^

in bitarray64.cr:134: instantiating 'BitArray64.class#new((Int32 | Int64))'

      BitArray64.new(count).tap { |ba| ba.@bits[0_i64] = bits }
                 ^~~

in bitarray64.cr:30: instance variable '@size' of BitArray64 must be Int64, not (Int32 | Int64)

  def initialize(@size = 0_i64, initial : Bool = false)
                 ^~~~~

Below is the modified file bitarry64.cr.
struct BitArray64
  include Indexable(Bool)

  # The number of bits the BitArray stores
  getter size : Int64

  # Create a new `BitArray` of *size* bits.
  #
  # *initial* optionally sets the starting value, `true` or `false`, for all bits
  # in the array.
  def initialize(@size = 0_i64, initial : Bool = false)
    value = initial ? UInt64::MAX : UInt64::MIN
    @bits = Pointer(UInt64).malloc(malloc_size, value)
  end

  def ==(other : BitArray64)
    return false if size != other.size
    # NOTE: If BitArray implements resizing, there may be more than 1 binary
    # representation and their hashes for equivalent BitArrays after a downsize as the
    # discarded bits may not have been zeroed.
    return LibC.memcmp(@bits, other.@bits, malloc_size) == 0
  end

  def ==(other)
    false
  end

  def unsafe_at(index : Int)
    bit_index, sub_index = index.divmod(64)
    (@bits[bit_index] & (1 << sub_index)) > 0
  end

  # Sets the bit at the given *index*.
  # Negative indices can be used to start counting from the end of the array.
  # Raises `IndexError` if trying to access a bit outside the array's range.
  #
  # ```
  # ba = BitArray.new(5)
  # ba[3] = true
  # ```
  def []=(index, value : Bool)
    bit_index, sub_index = bit_index_and_sub_index(index)
    if value
      @bits[bit_index] |= 1 << sub_index
    else
      @bits[bit_index] &= ~(1 << sub_index)
    end
  end

  # Returns all elements that are within the given range.
  #
  # Negative indices count backward from the end of the array (-1 is the last
  # element). Additionally, an empty array is returned when the starting index
  # for an element range is at the end of the array.
  #
  # Raises `IndexError` if the starting index is out of range.
  #
  # ```
  # ba = BitArray.new(5)
  # ba[0] = true; ba[2] = true; ba[4] = true
  # ba # => BitArray[10101]
  #
  # ba[1..3]    # => BitArray[010]
  # ba[4..7]    # => BitArray[1]
  # ba[6..10]   # raise IndexError
  # ba[5..10]   # => BitArray[]
  # ba[-2...-1] # => BitArray[0]
  # ```
  def [](range : Range(Int, Int))
    self[*Indexable.range_to_index_and_count(range, size)]
  end

  # Returns count or less (if there aren't enough) elements starting at the
  # given start index.
  #
  # Negative indices count backward from the end of the array (-1 is the last
  # element). Additionally, an empty array is returned when the starting index
  # for an element range is at the end of the array.
  #
  # Raises `IndexError` if the starting index is out of range.
  #
  # ```
  # ba = BitArray.new(5)
  # ba[0] = true; ba[2] = true; ba[4] = true
  # ba # => BitArray[10101]
  #
  # ba[-3, 3] # => BitArray[101]
  # ba[6, 1]  # raise indexError
  # ba[1, 2]  # => BitArray[01]
  # ba[5, 1]  # => BitArray[]
  # ```
  def [](start : Int, count : Int)
    raise ArgumentError.new "Negative count: #{count}" if count < 0

    if start == size
      return BitArray64.new(0_i64)
    end

    start += size if start < 0
    raise IndexError.new unless 0 <= start <= size

    if count == 0
      return BitArray64.new(0_i64)
    end

    count = Math.min(count, size - start)

    if size <= 32
      # Result *and* original fit in a single int32, we can use only bitshifts
      bits = @bits[0]

      bits >>= start
      bits &= (1 << count) - 1

      BitArray64.new(count).tap { |ba| ba.@bits[0_i64] = bits }
    elsif size <= 64
      # Original fits in int64, we can use bitshifts
      bits = @bits.as(UInt64*)[0_i64]

      bits >>= start
      bits &= (1 << count) - 1

      if count <= 32
        BitArray64.new(count).tap { |ba| ba.@bits[0] = bits.to_u32 }
      else
        BitArray64.new(count).tap { |ba| ba.@bits.as(UInt64*)[0_i64] = bits }
      end
    else
      ba = BitArray64.new(count)
      start_bit_index, start_sub_index = start.divmod(64)
      end_bit_index = (start + count) / 64

      i = 0
      bits = @bits[start_bit_index]
      while start_bit_index + i <= end_bit_index
        low_bits = bits
        low_bits >>= start_sub_index

        bits = @bits[start_bit_index + i + 1]

        high_bits = bits
        high_bits &= (1 << start_sub_index) - 1
        high_bits <<= 64 - start_sub_index

        ba.@bits[i] = low_bits | high_bits
        i += 1
      end

      ba
    end
  end

  # Toggles the bit at the given *index*. A false bit becomes a `true` bit, and
  # vice versa.
  # Negative indices can be used to start counting from the end of the array.
  # Raises `IndexError` if trying to access a bit outside the array's range.
  #
  # ```
  # ba = BitArray.new(5)
  # ba[3] # => false
  # ba.toggle(3)
  # ba[3] # => true
  # ```
  def toggle(index)
    bit_index, sub_index = bit_index_and_sub_index(index)
    @bits[bit_index] ^= 1 << sub_index
  end

  # Inverts all bits in the array. Falses become `true` and vice versa.
  #
  # ```
  # ba = BitArray.new(5)
  # ba[2] = true; ba[3] = true
  # ba # => BitArray[00110]
  # ba.invert
  # ba # => BitArray[11001]
  # ```
  def invert
    malloc_size.times do |i|
      @bits[i] = ~@bits[i]
    end
  end

  # Creates a string representation of self.
  #
  # ```
  # ba = BitArray.new(5)
  # ba.to_s # => "BitArray[00000]"
  # ```
  def to_s(io : IO)
    io << "BitArray64["
    each do |value|
      io << (value ? '1' : '0')
    end
    io << ']'
  end

  # ditto
  def inspect(io : IO)
    to_s(io)
  end

  # Returns a `Bytes` able to read and write bytes from a buffer.
  # The slice will be long enough to hold all the bits groups in bytes despite the `UInt64` internal representation.
  # It's useful for reading and writing a bit array from a byte buffer directly.
  def to_slice : Bytes
    Slice.new(@bits.as(Pointer(UInt8)), (@size / 8.0).ceil.to_i)
  end

  # See `Object#hash(hasher)`
  def hash(hasher)
    hasher = size.hash(hasher)
    hasher = to_slice.hash(hasher)
    hasher
  end

  private def bit_index_and_sub_index(index)
    bit_index_and_sub_index(index) { raise IndexError.new }
  end

  private def bit_index_and_sub_index(index)
    index = check_index_out_of_bounds(index) do
      return yield
    end
    index.divmod(32)
  end

  private def malloc_size
    (@size / 64.0).ceil.to_i
  end
end

I would appreciate some help to get this to work.
Thanks.

I really think we should be able to use 64bit indexed BitArrays with the stdlib.

@jzakiya this is less of an issue and more of a question for stackoverflow, the mailing list or gitter. Thanks.


Bump busybox version in netboot pxelinux.0 build

Fixes #100
stime was removed in glibc-2.31.
Busybox fixes this in https://git.busybox.net/busybox/patch/?id=d3539be8f27b8cbfdfee460fe08299158f08bcd9
Signed-off-by: Vance Morris<EMAIL_ADDRESS>

@mihajlov Can you have a look?

Looks reasonable. @hoeppnerj we should apply this.
For the records: Reviewed-by: Viktor Mihajlovski<EMAIL_ADDRESS>


Changing colors using ColorScheme makes cursor disappear

To reproduce modify the demo code of the project to
   var loginText = new TextField("")
    {
        X = Pos.Right(password),
        Y = Pos.Top(login),
        Width = 40,
        ColorScheme = new ColorScheme()
        {
            Focus = Attribute.Make(Color.BrightYellow, Color.DarkGray),
            Normal = Attribute.Make(Color.Green, Color.BrightYellow),
            HotFocus = Attribute.Make(Color.BrightBlue, Color.Brown),
            HotNormal = Attribute.Make(Color.Red, Color.BrightRed),
        },
    };

the textfield goes gray but the cursor disappears.
I am using windows

@kbilsted although gray I can see the cursor as shown in the attached image. And I am using windows too.

On my end

Im using the gui.cs directly rather than the nuget since the nuget is missing some definitions

I am using the gui.cs with all updates, including mine. By the way, can you test with my 'textfield-text-selection' branche and check if it still happens, please?

@BDisp  thanks for your screenshot. I think you are forgetting, it still changes the existing behaviour from a very noticeable cursor to an invisible or near-invisible one.

@kbilsted you're welcome. But this color behavior is from your demonstration. I just made color changes in two situations:
Menu item disabled and text selection as per images. Greetings.

@BDisp I'm not sure what you are trying to say, why are you bringing menus into the discussion? The problem is to do with

the cursor shows which component has focus
data entry and manipulation highly benefit from easily knowing the position of the cursor

Using the standard color scheme we get a nice red cursor that helps with both 1 and 2. Thinking of it, perhaps it would be useful to have the color scheme also define a cursor color.
I don't see the same requirements for menu items.
ps. I'm not trying to "shoot" you.

@kbilsted I'm sorry, I thought you were referring to something I had sent. After all, you were demonstrating new features. I really didn't care about the cursor but I think it's a good idea, sometimes there are situations where it is disadvantageous to have the cursor visible and any improvements you make are welcome. I'm sorry again for the misunderstanding. Thanks.

Can we close this issue?

I think you can.


How can I use it with ES6 classes?

There is no support for mixins in es6 classes.

https://github.com/fdecampredon/rx-react#component

Thanks!
On Sun, Dec 20, 2015, 2:11 PM François de Campredon <
<EMAIL_ADDRESS>wrote:

https://github.com/fdecampredon/rx-react#component
—
Reply to this email directly or view it on GitHub
https://github.com/fdecampredon/rx-react/issues/20#issuecomment-166085546
.

--
Regards,
Tushar Mathur.
www.tusharm.com


Teach StickerBOM about parts on the bottom

First, stick "FRONT" and "BACK" label next to the board picture. Now you're halfway there.


added additional ciphers in tlsconfig.proto, regenerated pb.go files

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

👍


Internal Error (http://<IP_ADDRESS>:3333/dashboard/overview) after login

... async eval (/Users/aditya/iggy-web-ui/node_modules/@sveltejs/kit/src/runtime/server/page/index.js:141:13)
TypeError: Expected a finite number, got string: 43788 KiB
at Proxy.prettyBytes (file:///Users/aditya/iggy-web-ui/node_modules/pretty-bytes/index.js:68:9)
at Module.bytesFormatter (/Users/aditya/iggy-web-ui/src/lib/utils/formatters/bytesFormatter.ts:7:10)
at Module.statsMapper (/Users/aditya/iggy-web-ui/src/lib/domain/Stats.ts:67:14)
at load (/Users/aditya/iggy-web-ui/src/routes/dashboard/overview/+page.server.ts:15:12)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Module.load_server_data (/Users/aditya/iggy-web-ui/node_modules/@sveltejs/kit/src/runtime/server/page/load_data.js:51:17)
at async eval (/Users/aditya/iggy-web-ui/node_modules/@sveltejs/kit/src/runtime/server/page/index.js:141:13)
Copilot says : "The error message indicates that there is a type error in the code. Specifically, it is expecting a finite number but receiving a string value.

To resolve this issue, you need to locate the code that is causing the error and fix the type mismatch. Based on the stack trace, it seems that the error is occurring in the bytesFormatter.ts file at line 7.
Open the bytesFormatter.ts file and check the code at line 7. Make sure that the value being passed to the prettyBytes function is a finite number. If it is a string, you can convert it to a number using the parseInt or parseFloat function.
Here's an example of how you can convert a string to a number in JavaScript:
const value = parseInt(stringValue, 10); // Assuming the base is 10

After making the necessary changes, save the file and re-run the command npm run dev -- --host --port 3333 to see if the error is resolved."

@aadityaverma thanks for reporting. Web ui need to catch up with Iggy server. I'll get on it this week

Error still around. See error log below.
`npm run dev

<EMAIL_ADDRESS>dev
vite dev --port 3002

VITE v4.5.2  ready in 488 ms
➜  Local:   http://localhost:3002/
➜  Network: use --host to expose
➜  press h to show help
RangeError: End Date is invalid
at Proxy.intervalToDuration (/Users/marvin/RustroverProjects/iggy-web-ui/node_modules/date-fns/intervalToDuration/index.js:46:35)
at Module.statsMapper (/Users/marvin/RustroverProjects/iggy-web-ui/src/lib/domain/Stats.ts:33:5)
at load (/Users/marvin/RustroverProjects/iggy-web-ui/src/routes/dashboard/overview/+page.server.ts:15:12)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Module.load_server_data (/Users/marvin/RustroverProjects/iggy-web-ui/node_modules/@sveltejs/kit/src/runtime/server/page/load_data.js:51:17)
at async eval (/Users/marvin/RustroverProjects/iggy-web-ui/node_modules/@sveltejs/kit/src/runtime/server/page/index.js:141:13)`

Fixed with the recent UI changes & server's API serialization improvements.


3.1.6 RE3 412 cutscene crashed

Version
3.1.6
Seed
R730-NEMY-ZW8848W5W9PW20QJRPNV6WZ1110HH40H0RZZZEXZYZZZZ
Scenario
RE 3 (Jill)
Player Character
Jill (RE3)
What happened?
412 grave cabin cutscene crashed .
game still crashed even disable mod_biorand\room and/or \data_a
note:
save file c.1 = didn't take the key in grave secret room （414）
save file c.2 = key been taken
412.zip

Duplicate of #637


License?

Hey Graham, I would like to contribute to this library and make a pull request, but there is no license file anywhere.
Have you considered a license for Ghost?

Closed by 836f260


Mutual Authentication on a few routes only?

Problem statement
I have an api that I need to use mutual authentication on only a few routes. In our previous versions I just split normal TLS into one server and Mutual TLS into a separate one. But I wanted to check to see if i really need to do that.   I would like to be able to configure just a few routes as mutual TLS ideally. Not sure if anyone has been able to do that or if it is a go restriction.

duplicate to 2887


[API server] Integrate API server CRD into the main Kubecarrier CRD

Is your feature request related to a problem? Please describe.
The API Server CRD shouldn't be manually created unless strictly necessary. Thus there would be an option to specify API server configuration in the master clusters Kubecarrier CRD defining the whole installation
Describe the solution you'd like

[ ] Add optionally API server CRD's spec to the kubecarrier CRD
[ ] The operator should mostly proxy the spec and create the respective CRD
[ ] The API server CRD's instance status should be backpropagated to Kubecarrier CRD's instance
[ ] in the integration test their functionality

Superseded by #446


Notebook: Enable Interactivity on Plots

Problem
Currently the plots generated in the notebooks (e.g. from the reconstruction error) are not "zoomable".
Solution
Update the notebooks with the following magic command: %matplotlib widget

Implemented with: cfc4ed92c0a4f806b38fcd43d8b1dcce634c891f


Introduction_contributor growth framework

Adding the intro which will link to the five different chapters.

@carolynvs, we are ready to add the contributor growth framework in the draft folder :) Since it has multiple pieces, I created a folder (at least I think I did) when submitting this PR. I just realized that I can't add the other pieces into the folder before this one is merged. I'll create the other PRs as soon as this one is merged.

I'm afraid not. I wanted to give them credit but didn't think of asking. Happy to do so, though.

@carolynvs I haven't heard back from Paris yet. Everyone else agreed. Could we just use Paris' initials as a placeholder until I hear back?

Initials are fine IMO

@CathPag Just let me know if you are ready to merge. I will merge and then create a follow-up PR with my suggestions.

Didn't see this. Ready when you are :)


Add moments to profile page and add a separate profile editing page

Added Moment.java and MomentStore.java
Added load methods and write through methods of moments to Persistent Data Store
Added a separate page for editing profile page and added profileEdit Servlet to implement GET and POST methods on that page

Can you copy and paste the error message? Looks like it works fine on my machine.


fix(lightning): update transfer UI

Description
Updates the UI to better show transfers from and to spending, also contains most of the design updates from v46 related to transfers. I moved some state related to transfers to its own field in wallet.transfers, some of this is duplicated but this makes it more explicit and way easier to work with.
Linked Issues/Tasks
Add any links to GitHub issues or Asana tasks that are relevant to this pull request.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactoring (improving code without creating new functionality)

Tests

[ ] Detox test
[x] Unit test
[ ] No test

Screenshot / Video
channel open:
https://github.com/synonymdev/bitkit/assets/8538369/e798f87a-b2c1-45a0-b0e8-ea7b3e1cf07e
channel close:
https://github.com/synonymdev/bitkit/assets/8538369/b01c3e5a-8413-410c-ae4a-58147a5e029a

Other than that, everything LGTM!


fix: provide consistent hash per drupal/backdrop project name, fixes #5255

The Issue

#5255

Creating a new hash on restart can cause a number of Drupal/Backdrop functions to misbehave
How This PR Solves The Issue
The hash is now calculated based on the project name. This is inappropriate for production, but should work great for developer situations. It also means that the hash will be the same for all developers on a team.
Manual Testing Instructions
ddev start multiple times and review the settings.ddev.php for the project. It should not change, but should be different for different projects.
Automated Testing Overview
Added TestDrupalBackdropConsistentHash

I applied the fix, and it seemed to work well in my environment. Thanks @rfay!


[KYUUBI #3640] Change the default event logger description of hive and trino to json instead of spark

Why are the changes needed?

fix #3640
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #3641 (ab04f13) into master (bbf916d) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3641      +/-   ##
============================================
- Coverage     51.94%   51.89%   -0.05%
  Complexity       13       13
============================================
  Files           484      484
  Lines         27109    27104       -5
  Branches       3783     3781       -2
============================================
- Hits          14081    14066      -15
- Misses        11664    11671       +7
- Partials       1364     1367       +3

Impacted Files
Coverage Δ

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.34% <100.00%> (ø)

.../kyuubi/server/mysql/constant/MySQLErrorCode.scala
13.84% <0.00%> (-6.16%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLCommandHandler.scala
75.00% <0.00%> (-4.55%)
:arrow_down:

...apache/kyuubi/engine/JpsApplicationOperation.scala
77.41% <0.00%> (-3.23%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLGenericPackets.scala
76.59% <0.00%> (-2.13%)
:arrow_down:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
78.00% <0.00%> (-2.00%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
80.74% <0.00%> (-1.25%)
:arrow_down:

...ain/scala/org/apache/kyuubi/engine/EngineRef.scala
72.26% <0.00%> (-0.85%)
:arrow_down:

...he/kyuubi/ha/client/etcd/EtcdDiscoveryClient.scala
66.25% <0.00%> (-0.63%)
:arrow_down:

.../kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
70.58% <0.00%> (+1.07%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

We use ... logger by default.

it's actually redundant to declare default values in the configuration description, as we already have a column to show default values.

Thanks, merging to master


Unwanted focus outline on modal windows.

At first I though it was a new style thing, which startled me..... But then compared to how other people saw the modal windows and spotted the 'bug'. When on Mac (other linux people don't have it) there's a focus outline on the modal windows, both the modal window (http://d.pr/i/HmAE), and the button spawning it (http://d.pr/i/K3O9) are affected.
I was able to remove it by adding the following bit of css into the page through the inspector:
:focus{
	outline: none;
}

But I reckon this is way to intrusive to ever get a place in the reset.less, hence that I'm filing an issue instead of a pull-request.

modal is not closing even when data-dismiss attribute is called I have tried the above mentioned solutions but haven't seen any change I'am using bootstrap3.css

@srikar810 - your problem has nothing to do with the issue discussed in this particular thread. further, for personal support questions (rather than discussions about core Bootstrap functionality), please use StackOverflow or similar general development forums.


Migrate Repositories to kcp-Prow

This is a checklist for keeping track of the kcp-dev/* repos on Github and their migration to kcp's own Prow:
### Repositories
- [ ] https://github.com/kcp-dev/apiextensions-apiserver
- [ ] https://github.com/kcp-dev/infra/issues/27
- [ ] https://github.com/kcp-dev/awesome-kcp
- [ ] https://github.com/kcp-dev/client-go
- [ ] https://github.com/kcp-dev/code-generator
- [ ] https://github.com/kcp-dev/controller-runtime
- [ ] https://github.com/kcp-dev/controller-runtime-example
- [ ] https://github.com/kcp-dev/enhancements
- [ ] https://github.com/kcp-dev/friends
- [ ] https://github.com/kcp-dev/infra/issues/28
- [x] https://github.com/kcp-dev/infra
- [ ] https://github.com/kcp-dev/kcp
- [ ] https://github.com/kcp-dev/kcp-dev.github.io
- [ ] https://github.com/kcp-dev/kcp.io
- [x] https://github.com/kcp-dev/logicalcluster

Repositories not to be migrated

https://github.com/kcp-dev/catalog
https://github.com/kcp-dev/cel-go
https://github.com/kcp-dev/edge-mc (unclear as of now)
https://github.com/kcp-dev/kcp-glbc
https://github.com/kcp-dev/kcp-tests
https://github.com/kcp-dev/kubernetes

Happy to help out here as well :)

How can we coordinate on this? I need to setup the Prow stuff and the webhook

re: webhook - out of curiosity, why aren't we adding the webhook at the org level?
re: setting up prow - https://github.com/kcp-dev/infra/pull/26 takes care of it, right? are there additional things required?

In the meantime, for the repos in the checklist above: If there is a dedicated ticket, that means the webhook is setup and someone can pick it up and work on that repo.

How about we centralize the job configuration in this repo? That way all configs stay at the same place and review/approvals can be governed by OWNERS files.

Kubernetes also follows the same approach in kubernetes/test-infra

In my experience having jobs in a central location becomes a problem when the repos start branching heavily and maintaining the correct config files for each branch of each repo centrally -- I never liked that and welcomed the in-repo config sooo much.
I also don't think the infra-maintainers should approve Prowjobs of, say, the logicalcluster repo.

Overall, I do agree that both approaches have their pros and cons.

maintaining the correct config files for each branch of each repo centrally

I am not sure I understand this problem very clearly.

I also don't think the infra-maintainers should approve Prowjobs of, say, the logicalcluster repo.

The infra-maintainers don't need to be in the loop for all repos. Maintainers of each repo can themselves approve Prowjobs for their repo jobs.

Oh, maybe I have misrepresented my thoughts, but I am also not completely against centrally managed jobs. A healthy mix is what I would have aimed at, with most focus on in-repo jobs.

I am not sure I understand this problem very clearly.

In our product, we did a few major code reorganizations, where for example a command: ./hack/ci-test-e2e.sh from a Prowjob in product v1.x would need to be command: ./hack/ci/test-e2e.sh in v2.x.
This lead to lots of if [ -f ... ] blocks and impromptu shellscripts in our Prowjobs and it turns out that instead of trying to maintain one set of jobs for all branches centrally in the infra repo, it's easier to just have the jobs for one branch live in that one branch of that repo.
Centrally managed jobs shine often for postsubmits and they are a nice way to impose certain minimum jobs for each repo (like we do here with the validate-prow-yaml) that must pass before in-repo jobs are even started.

But I can also see the downsides of in-repo. Like when you need to change that one tiny thing, but in all branches in all of your repos, and you spend the rest of the opening PRs and frying the CI cluster. So yeah, centrally managed jobs can be godsend, too. :)

Once all repos have been migrated, maybe we could create a single PR to remove the repos from openshift/release to make approvals easier?


Golang Proto links broken

Currently, it appears that this commit wanted to change the location of proto go files, and therefore changed all the packages.
However, the package file locations themselves were not changed, which breaks both go get as well as the files themselves.
b22b69140fcbd623a84384680f8aa1085dceb9e2

Ah this is a known issue. Will fix shortly.


Disabled backdrop-filter in Modal to resolve FPS reduction issues

💻 变更类型 | Change Type

[ ] ✨ feat
[ ] 🐛 fix
[ ] ♻ refactor
[x] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

🔀 变更说明 | Description of Change

Disabled backdrop-filter in Modal to resolve FPS reduction issues. (Animation, Scrolling)
📝 补充信息 | Additional Information

Test Environment : Chrome, 4K, 13700K, Intel UHD
Scrolling Test
Enabled

Disabled

I think it can be a ConfigProvider config other than just disable it.


feat: add deployment solution to digital ocean droplets

Description

Add workflow for deployment to digital ocean droplets
Remove k8s helm chart files
Add digital ocean terraform files

Proof that it works

The site is hosted at http://<IP_ADDRESS>/v1/help/validate
Successful workflow run:- https://github.com/ash17290/server-api/actions/runs/7476130464/job/20345827991

Things to be noted by the maintainer

You have to add a public ssh key in https://github.com/Shurtu-gal/server-api/blob/feat/droplet/deployments/droplets/server-api.yaml#L14
Install terraform
Run terraform init and terraform apply
Copy the ipv4 from output.
Add the following secrets:

HOST: ipv4 address of container
USERNAME: asyncapi
PORT: 22
KEY: Full Private Key for the public ssh key

Note: this is a single-time process.
Related issue(s)
Fixes #317

@derberg A small review of GitHub workflow would be appreciated.

I noticed we are following an approach of using Digital Ocean droplets directly.
Even though it might seem simple and minimalistic enough, it can be problematic in the long run. Droplets are just VM in the cloud, they not provide any service control over what is running inside, no metrics, no alarms, etc. Less important at this moment but worth to mention the fact they neither provide scale mechanisms. More here.
For example, managing SSL certificates is a manual thing. In our particular case, we would need to issue a new certificate (e.g. Let's Encrypt one), install it in the machine, taking care of renovation of it, etc. Something we also need to care is about application lifecycle; when do we stop a container for deploying the new one? how to rollback in case of failure? Whats the current status after an error?
I know we are migrating to anything else rather than K8s on Digital Ocean because of pricing. I completely agree that, atm, using K8s is completely far from our needs being an overengineered solution.
Luckily, Digital Ocean has the App Platform service. In short, lets you run your containers in the cloud under a managed environment, providing application life-cycle control, monitoring (including alarms on things are wrong, such as bad deployment), domain and SSL certificate handling including automatic renewal of Let's Encrypt certificates, etc etc etc.
The pricing (in our case) should not be way more expensive than just running droplets isolated and, definitely, way more cheaper than K8s solution. The benefits are really worth.
Regarding the deployment, you just deploy to Digital Ocean telling "hey, just deploy latest version" and the system will pick up latest container image tag and deploy it, taking care of the lifecycle from that moment on.
Additionally, we can manage the App Platform via Terraform (as you are doing with the Droplet).
cc @derberg

@smoya @derberg The PR has been updated.
Successful workflow run :- https://github.com/ash17290/server-api/actions/runs/7525186615/job/20481139953
Deployed Link :- https://server-api-ek54f.ondigitalocean.app/v1/help/validate

Digital Ocean Application has been depoyed successfully using the terraform file @Shurtu-gal created. @fmvilas added the proper CNAME record into api.asyncapi.com to server-api-84f2u.ondigitalocean.app, which is the internal Digital Ocean domain for server-api app.
All seems working properly, the transition from K8s to App Platform happened smoothly. BTW, we do not have K8s on Digital Ocean anymore 🎉 cc @derberg
Now I'm gonna proceed configuring the env vars for the GH action to work.

Do you believe you could update the docs of this repo mentioning how the deploy of the infra works, and how deploys of the app work as well? Can be done in a different PR, not affecting in this case  to the Bounty's timeline unless you want to do it here.

Sure, I can do it here itself.

DO TOKEN secret added. Time to merge and test with a new release.
Awesome work @Shurtu-gal !!!

@all-contributors please add @Shurtu-gal for doc, infra

@asyncapi/bounty_team

/bounty


EIP-7251 - Added minActivationBalance

minActivationBalance impacts how validators are deemed to become active, rather than using MAX_EFFECTIVE_BALANCE A flow on of this is that the max_effective_balance can be changed to the electra max_effective_balance Also it updates epoch processing, and we start seeing electra specific beaconStateAccessors and Predicates.
Documentation

[X] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[X] I thought about adding a changelog entry, and added one if I deemed necessary.

i was less worried about predicates tests, but did add a couple. need to get enough functionality in to be able to run reference tests.


empty result with AngleSharp 0.9.11

I am using AngleSharp v0.9.11.
Because our project is targeting .NET Framework 4.5.2. So the latest version of AngleSharp I can upgrade is 0.9.11.
Now, with same code but the project with .NET 4.6 returns ok but not ok in project with .NET 4.5.2
private async Task<string> GetPageAsync()  {         string result = "ok";         var page = "https://www.esuperfund.com.au/bank-account/transaction-account/interest-rates/cba-transaction-account";                     var config = Configuration.Default.WithDefaultLoader();         var doc = await BrowsingContext.New(config).OpenAsync(page);         if (string.IsNullOrEmpty(doc.Body.InnerHtml))             result = "Not ok";         return result;  }
I think there are some codes/libraries which make that web returns empty as I tested with other urls (e.g. stackoverflow.com) and all are ok.
I don't know what should I do to make it works for .NET 4.5.2 project.
Many thanks

This is not a problem with AngleSharp, but I assume HTTPS.
Use the following link to see if you get it working: https://stackoverflow.com/questions/560804/how-do-i-use-webrequest-to-access-an-ssl-encrypted-site-using-https
Hope that helps!

The library works on other websites, such as https://www.google.com/ or https://stackoverflow.com/
but not https://www.esuperfund.com.au/

Yes, because they have different certificates. Again, please follow the link and add your certificate or allow all certificates.

Just another link for you to read (and the person in this post has a page that uses the same CA as esuperfund.com.au; GeoTrust): https://forums.asp.net/t/2145653.aspx?C+WebRequest+Could+not+create+SSL+TLS+secure+channel

Thanks,
I added ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; and it works now.


Can't see any project details

So, I've pulled the project, and filled in the default config in src/config.default.json and moved that file to the public folder.
I've made a API key token (which works) and I use the following URL: https://gitlab.com/api/v4/users/<my_user_id>.
This also works, but when I do the project detail API call (https://gitlab.com/api/v4/users/<my_user_id>/projects/<project_id>, it throws a 404, so I don't see any project. I've tried seting projects public etc... but nothing seems to work... what am I doing wrong here?

Seems like I need more information to help you.
Does the version at gitlab-monitor.timoschwarzer.com work for you?

The version on gitlab-monitor.timoschwarzer.com does exactly the same thing... I'm using my "private account"

This also works, but when I do the project detail API call (https://gitlab.com/api/v4/users/<my_user_id>/projects/<project_id>, it throws a 404

It seems like you didn't authenticate the API call successfully (just entering the URL in your browser does not work).
See: https://docs.gitlab.com/ee/api/#personal-access-tokens

I usee postman to test the API

If you cannot access your GitLab instance the way it's described in the GitLab documentation, there's not much I can do for you without further information.

How would I access the gitlab instance then? What would be the correct URL for the gitlab online version?

I don't understand your question.
If your GitLab instance runs at http://some.gitlabserver.com/ then the gitlabApi config would be http://some.gitlabserver.com/api/v4.

I don't run my own gitlab server, I'm using the service from grilab itself.

Then it's https://gitlab.com/api/v4

Yes, that is what I'm using. Then after a hell of a time, projects get loaded, but none of them are mine... This is the config I'm using (I'd like to specify a group)... this is my config I'm using:
{
  "gitlabApi": "https://gitlab.com/api/v4",
  "privateToken": "<My_generated_token>",
  "maxAge": 168,
  "fetchCount": 20,
  "pipelinesOnly": false,
  "autoZoom": true,
  "showPipelineIds": true,
  "showJobs": "icon",
  "showJobsNameOnlyOn": [],
  "showDurations": true,
  "showUsers": true,
  "projectVisibility": "any",
  "linkToFailureSound": null,
  "title": null,
  "pollingIntervalMultiplier": 1,
  "badges": true,
  "filter": {
    "include": ".*",
    "includeTags": ".*",
    "exclude": null,
    "excludeTags": null,
    "excludeUntagged": false
  },
  "projectFilter": {
    "*": {
      "include": ".*",
      "exclude": null,
      "default": null,
      "showMerged": true,
      "showTags": true,
      "maxPipelines": 0,
      "hideSkippedPipelines": false
    }
  },
  "projectScope": null,
  "projectScopeId": null
}

You may want to set membership to true. (https://github.com/timoschwarzer/gitlab-monitor/blob/master/CONFIGURATION.md)

...and for the group, you want to set projectScopeId to "group" and projectScope to <your group>.


Folder+Subfolder Import

Papermerge has been an amazing DMS for our home office!
That said, we have an existing multi-level existing folder structure we can't seem to import. The importer seems to treat subfolders as "not a file". E.x.: [2020-10-14 00:33:17,956: WARNING/ForkPoolWorker-2] Skipping /mnt/media/importer_dir/Scans as it is not a file
Is there a way for us to import/drop in a full existing folder structure without having to import a single directory at a time? I've digged through the documents for several days to no avail, so I apologize if I'm missing something obvious!

@simhavaktra, thank for opening this issue!
It does not look like big deal to fix this. I will have a look and come back with mode details.

Any update on when this being integrated/setup?

This issue went into oblivion. As I mentioned above not a big deal to fix. I will mark it as part next upcoming release as a reminder to include it in 2.0.

This would be so nice to have, possibly even use the [sub]folder as a tag or metadata

... one year later ...

This issue is a duplicate of papermerge/papermerge-core#13
As described in above mentioned ticket, requested functionality will be added as 3rd party application which will use currently developed feature of RESTful API to import documents by preserving their folder structure.

Recursive folder import is now available via papermerge-cli import /path/to/some/folder command line utility.

Recursive folder import is available via papermerge-cli import /path/to/some/folder command line utility.

why do the docs not reference what container papermerge-cli should be executed on? seems lame to recommend using docker for testing and the docs don't provide details how to do things with docker.


Weapons not showing up on certain units

Describe the bug
A clear and concise description of what the bug is.
Certain units including the Riptide battle suits and the imperial guard/astra militarum vendetta and thunderbolt fighter are spawning in with fewer weapons than are equipped.  Vendettas with a single twin lascannons instead of 3
Expected behavior
A clear and concise description of what you expected to happen.
The units spawning in with the correct weapons.
Upload the Roster
Rename your .rosz file to have the .zip extension, then drag and drop it here
3000 guard armor.zip
tau 1000.zip

Bug and expected behavior of OP also occurring with Sonic Dreadnought/Helbrute LEGEND (2x Blastmaster) and Seraphim w/ Special Weapons (2x Inferno Pistol , 2x Hand Flamer). On spawn does not show 2x.
Sisters of Repentance Combat Patrol.zip
Sonic Dreadnought (Helbrute Legend) Example.zip


images not opening in mobile version: probably the reason is images loading after the site is rendered

The reason is not what is mentioned because the issue still remains


chore(main): release 1.267.0

When this PR is merged, a new tagged release will be created with the notes below.
1.267.0 (2024-09-23)
Features

add soft navigations to Browser-Agent loader (#1191) (fd033a7)
Improve notifications of stylesheet status for session replay (#1190) (a21b939)
Update TimeKeeper Source of Truth (#1181) (60d63cf)
Upgrade to web-vitals v4 (#1193) (81349b8)

Bug fixes

Improve reliability of customMasker (#1197) (9f2ef1f)
Stringify now returns an empty string if failed to transform (#1198) (310937a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/newrelic/newrelic-browser-agent/releases/tag/v1.267.0 :sunflower:


Stop clearing errors in example

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Removed a call to Clear Errors.vi in an example.
Why should this Pull Request be merged?
This call was added in #182 during local testing and unintentionally slipped through the code review.
What testing has been done?
Ran VI locally and confirmed it did not error.

@rtzoeller , if an error does get generated, is the intention to not save? Calling an Invoke node with an error in often becomes a no-op in the node. If saving still needs to occur, then clearing the error needs to stay, but then wire the error before it gets cleared to the error dialog subVI.
Side note: There is an option on an invoke node to ignore the error in, but this is not default behavior and could be confusing if it was used without a comment.

@niphilj I don't have a preference for what happens in the case of an error, so long as the error makes it to the simple error handler.
In the interest of making the example as simple and consumable as possible, I'd like to leave the default behavior (e.g. what is written).


[Question] Search Only Tweets

When I am searching using #Hashtags then it pulls tweets with that Hashtag. BUT if I use a term as a keyword it is pulling names with that term as well... How can I limit it so it only searches the Tweets for that search term?
Ex. "#burger" pulls #burger related tweets only. but with "burgers" its also pulling user with name burger. Any way to limit it so that "burger" only searches for tweets with #burger or burger in their tweets.

You should get the tweets, first, and then iterate over them and do some "filtering" to exclude the ones that don't match


MudExpansionPanels: Rename DisableBorders to Outlined

Description
We want to move from DisableSomething to just Something or EnableSomething depending on the property. This PR tackles only DisableBorders and renames it to Outlined. Of course default value and all invocations have been inverted.
See #6131
How Has This Been Tested?

Types of changes

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

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[ ] I've added relevant tests.

FYI @BieleckiLtd

We already have Outlined in another component, that's why I chose it.

I didn't want Outline because that is an enum member which I don't want to confuse with this parameter. Border would work, but my gut says no, I can't really argument it though.

I didn't want Outline because that is an enum member which I don't want to confuse with this parameter. Border would work, but my gut says no, I can't really argument it though.

It's a border so it shouldn't be referred to as an outline:
https://github.com/MudBlazor/MudBlazor/blob/f70bb9e12dc2f215344f4aa4ac0ef71a2250629e/src/MudBlazor/Styles/components/_expansionpanel.scss#L29-L31
Border works in the same way DropShadow does. I think both could be implicitly converted to enums or numbers in the future if desired.

The Outlined property of MudPaper and MudCard
.mud-paper-outlined {
  border: 1px solid var(--mud-palette-lines-default);
}

I think we should go with Outlined in ExpansionPanel as well for consistency

The Outlined property of MudPaper and MudCard
.mud-paper-outlined {
  border: 1px solid var(--mud-palette-lines-default);
}

I think we should go with Outlined in ExpansionPanel as well for consistency

There's a real difference between border and outline in CSS so this is all misleading

I get your point, and for you as a CSS pro it may make a big difference. But the user of the Card or ExpansionPanel doesn't care about such subtle CSS differences?

I get your point, and for you as a CSS pro it may make a big difference. But the user of the Card or ExpansionPanel doesn't care about such subtle CSS differences?

CSS pro is generous 😄
Realistically it'll be fine either way, but I feel like if you're already making breaking changes, why not be accurate? It's a subtle thing but is firmly named wrong now.
I think MUI uses borders and not outlines too

We are already renaming so much. I don't want to rename more than is necessary. Next we'd have to rename the Variant.Outline too for consistency and I really don't think that it is necessary to take that step.

@danielchalmers shall we do a team vote on discord or do you accept my arguments?

I don't want to simply dismiss @danielchalmers arguments just because I disagree. When we have a disagreement like this we usually resolve it by a simple majority vote in the team.
Choice 1) Rename MudExpansionPanels.DisableBorders to MudExpansionPanels.Outlined and don't touch Outlined in MudCard, MudPaper and in Variant.Outline.
Choice 2) Rename MudExpansionPanels.DisableBorders to MudExpansionPanels.Border and rename Outlined in MudCard, MudPaper and also in Variant.Outline to Border
@MudBlazor/contribution-team @MudBlazor/core-team Please post your opinions so we can resolve this deadlock.

Choice 3) Rename MudExpansionPanels.DisableBorders to MudExpansionPanels.Outlined and change MudCard, MudPaper and also Button with Variant.Outline to use CSS outline instead of CSS border

Choice 1 sounds like the best option to me.

I agree with @henon here. Sure there is also outlined in CSS but it was never meant to reflect the css property.
I think renaming it to Outlined is the best option to streamline it with the rest of the library.

Makes sense 👍
Not super important either way


Add TagHelperOutput extension methods for class value manipulation

Many thanks to @Elfocrash for his work in #6565. That PR adds the following extension methods:
public static void AddClass(
    this TagHelperOutput tagHelperOutput,
    string classValue,
    HtmlEncoder htmlEncoder) { }
public static void RemoveClass(
    this TagHelperOutput tagHelperOutput,
    string classValue,
    HtmlEncoder htmlEncoder) { }

Issue created in arrears to track work done in the 2.1.0 milestone.

db397d81

Thanks!
Is this released ? Can't find this extension method  (.NET core 2.0 project)

@kshyju This was merged after the 2.0 release. You can check on the right-hand side of the page that the Milestone for this is 2.1.0-preview1 so it will be out with 2.1.0

Perfect! Thanks. Did not notice the milestone label ;)


Conditionally invalidate HTTP client token

Conditionally remember whether the configured client token is invalid by only performing the check on requests that are using the client authorization token. This means that requests such as webhooks and interactions will be excluded, as they use their own authorization.
Closes #1299.

Codecov Report

Merging #1318 (3ae06af) into main (b94ebdd) will increase coverage by 0.80%.
The diff coverage is 81.25%.

:exclamation: Current head 3ae06af differs from pull request most recent head 0635cae. Consider uploading reports for the commit 0635cae to get more accurate results

@@            Coverage Diff             @@
##             main    #1318      +/-   ##
==========================================
+ Coverage   30.13%   30.93%   +0.80%
==========================================
  Files         365      365
  Lines       14491    14493       +2
==========================================
+ Hits         4367     4484     +117
+ Misses      10124    10009     -115

Impacted Files
Coverage Δ

http/src/client/mod.rs
7.89% <0.00%> (+4.45%)
:arrow_up:

...st/application/interaction/interaction_callback.rs
63.63% <ø> (+63.63%)
:arrow_up:

...pplication/interaction/delete_original_response.rs
71.42% <80.00%> (+71.42%)
:arrow_up:

...t/application/interaction/get_original_response.rs
71.42% <80.00%> (+71.42%)
:arrow_up:

...application/interaction/create_followup_message.rs
17.24% <100.00%> (+17.24%)
:arrow_up:

...application/interaction/delete_followup_message.rs
77.77% <100.00%> (ø)

...st/application/interaction/get_followup_message.rs
77.77% <100.00%> (ø)

...application/interaction/update_followup_message.rs
18.81% <100.00%> (+18.81%)
:arrow_up:

...pplication/interaction/update_original_response.rs
17.17% <100.00%> (+17.17%)
:arrow_up:

http/src/routing/route.rs
6.59% <0.00%> (+0.27%)
:arrow_up:

... and 11 more

Continue to review full report at Codecov.

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


python-client imports from current working directory

Say I have a plugin at ~/.nvim/pythonx/neovim_thing.py and it imports  ~/.nvim/pythonx/foo.py. Assuming my current working directory is ~/dev/foo/, if I start nvim and there happens to be a ~/dev/foo/foo.py there this file is imported by my plugin instead of ~/.nvim/pythonx/foo.py which breaks the plugin.

Is https://github.com/neovim/python-client/blob/be6e96ee59f6101b20764eafe53bada6b8facb3e/neovim/plugin/host.py#L90 the place where this can be fixed?

I only discovered this bug when running Nvim in a directory with a file json.py in it. In my setup, this is imported by YouCompleteMe. With neovim/neovim#3331, it correctly imports the system json module.
@justinmk in that line, only the plugin is loaded that was found 3 lines above. There it is actually made enforced that only the plugin path is searched (by giving it as an explicit argument to imp.find_module). There's only a problem if said plugin imports other Python modules. For these sys.path will be searched, which shouldn't contain the current working directory with the change in https://github.com/neovim/neovim/pull/3331/files#diff-56c8fc368678358892f215c76bd2178cR200. So my understanding is that neovim/neovim#3331 fixes this (at least it seems to do in my case :D )

YCM uses the legacy python layer. Anything that uses python-client, without the legacy layer, I believe, will still have this issue.

There seem to be two places where Nvim starts python. In provider/pythonx.vim to check if python-neovim is installed and in remote/host.vim to start remote python plugins. In both of them, the current working directory is removed from sys.path now. So I don't see how any python plugin that is spawned by Nvim would load anything from the current directory unless it changes the importing behaviour altogether.
Also the legacy layer (provided by provider/script_host.py) is basically just a remote nvim python plugin, isn't it? And placing a logging.py file in the current directory doesn't pose any problems for me.

This project (python-client) may be used arbitrarily for any reason to communicate with an nvim instance.

But in that case I would consider this a non-issue. If someone uses python-neovim as a library, they should make sure that it's imported correctly, just like any other library.
It might be desirable however to remove "" from sys.path in start_host() as that is (just as its docstring states) basically an executable hidden in a function and should hence not have any import issues depending on where python is run from.

this should be working as intended now.


set terminal title to window title

I have enabled edits from maintainers in case I'm missing some obvious bits of submitting a PR to this project.
On linux at least, window titles are driven by the contents of the html document's title tag.
Since the terminal title hooks don't update the contents of the title tag, by default, if you have multiple windows open, you get multiple windows with the exact same name, observe the window list at the bottom of this screenshot:

This is obviously very confusing for users who navigate windows by alt-tabbing through window lists or by clicking on system trays like I've set up here.
This changeset hooks the title event (I think that's what it's called, I've never worked in a js app so forgive wrong terminology plz :smile: ) and replaces the document title with the new terminal title if the terminal is the active terminal. It also hooks the focus event so that when you click into a tab or split pane, it updates the document title appropriately as well. Observe the window list ath the bottom of this screenshot:

(These are fish-style window titles in my personal configuration, but a bash or zsh user would see whatever they've configured their shell to set their window title to be, eg user@hostname:~ etc.)
Let me know if there's any tests I need to update or a better way to replace the contents of this tag, I'm mostly a python / C++ guy these days so I'm a little winging it here.

ooof, im a little out of date. give me a sec, i'll rebase

ok, NOW we're ready for review, :)

How about adding a new action UI_SET_WINDOW_TITLE, like the code below.
https://github.com/zeit/hyper/blob/621b509a0685323a8a55e04850dff97a79979ffa/lib/actions/sessions.ts#L111
they share the same title

re @ivanwonder above:

How about adding a new action UI_SET_WINDOW_TITLE, like the code below.
https://github.com/zeit/hyper/blob/621b509a0685323a8a55e04850dff97a79979ffa/lib/actions/sessions.ts#L111
they share the same title

I don't super see this as a new action, this PR is pretty specifically advocating that the window/UI title should always match the current active terminal's shell-set title. If plugin authors wish, they can still misdirect this effect fairly straightforwardly by decorating the term component and intercepting the ontitle and onfocus events, as I did in the plugin i mentioned above (https://github.com/elementc/hyper-window-titles/blob/master/index.js), only now it'll have more of the effects they expect, ie actually setting the document and therefore OS window title. I think adding a new action here would just lead to a more confusing API- as an application, the window title should match the xterm title, and if a modder wants to change either, we should not surprise them and give one hook  for changing both.


EventSourcedRecord::Event#respond_to? breaks if attributes are blank

I believe this is an issue in EventSourcedRecord::Event::EventTypeConfig on line 13.
def attributes(*attrs)
  attrs.present? ? @attributes = attrs : @attributes
end

If there are no attributes when an event_type is instance eval'd the attrs variable will return an empty array. The empty array will return false when present? is called and it will return a nil @attributes. This causes an error in the following code EventSourcedRecord::Event#respond_to?
def respond_to?(meth, include_all = false)
  if event_type_config && event_type_config.attributes.include?(meth)
    true
  elsif event_type_config && event_type_config.attributes.any? { |a| "#{a}=" == meth }
    true
  else
    super
  end
end

Since the attributes are nil, a NoMethodError will be raised: undefined method include? for nil:NilClass

Can you submit some example code that would demonstrate this bug? Thanks!

This will happen any time an event_type block does not specify an attributes method i.e.
class ExampleEvent < ActiveRecord::Base
  include EventSourcedRecord::Event
  serialize :data

  belongs_to :example, foreign_key: 'example_uuid', primary_key: 'uuid'

  event_type :creation do
  end
end

If I try to do the following, it will raise the NoMethodError
example = FactoryGirl.create(:example)
ExampleEvent.create({
  "event_type" => "creation",
  "example_uuid" => example.uuid,
  "occurred_at" => Time.current,
  "data" => {}
})

If you need an example application I can create one that demonstrates this issue.

That was enough to help me see the bug. Thanks!


I have make a footer for website in which all criteria will follow.

pls merge my request

Can you attach screenshot of it

i will attach the screenshort

  Sent from Mail for Windows From: vikhyat singhSent: Friday, October 14, 2022 12:16 AMTo: vikhyatsingh123/SlugTerraCc: Amandeep; AuthorSubject: Re: [vikhyatsingh123/SlugTerra] I have make a footer for website in which all criteria will follow. (PR #218) Can you attach screenshot of it—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Multiple handlers per component

This is an awesome project! I was wondering how difficult it would be to add a second handler (redis) to a component. I'd like to be able to follow a flow similar to:
Start compone listening to channel A
Subscribe to channel B
Publish message to channel C
Wait for message on channel B
Process
Exit

Is this functionality already possible? If not would this require changes to the runtime as well as the internal redis library?
Thank you 🙏

This isn't currently possible.  You could have two Redis triggers pointing to the same component, but not two Redis handlers in the component code.  This limitation comes from how Wasm exposes handler functions.
Another issue relates to the instantiation model.  When a trigger fires (HTTP request, Redis message, etc.), we create an instance of a component, call its handler, and then the instance goes away.  Instances are stateless -they don't hang around processing multiple events.  So even if a Wasm module could export two Redis handlers, a particular instance of it would be running one of those handlers.
Fundamentally it is not really "the component" that is listening.  The Spin runtime handles all the listening and subscribing - it detects events and instantiates (transient, stateless) handlers in response to them.
The sort of coordination you're describing it certainly interesting for the future though.  Could you tell us more about your use case?

@itowlson thanks for the quick response. All of those points make sense!
My use case is that I'd like to allow one component to handle incoming requests, it should parse the message and determine what subsequent components to call.
sequenceDiagram
    Caller ->>+ HTTP Component: request
    HTTP Component ->>+ Logical Comp A: request (on fixed channel)
    Logical Comp A ->>+ HTTP Component: respond (on request specific channel)
    HTTP Component ->>+ Caller: respond

I understand that this is slightly anti-pattern for the component/actor framework since the HTTP Component keeps state, however I'm not sure how else to persist a connection with the initial caller and have the ability to dynamically call components.
I am more than open to other architectures 🙂 Overall I'd like to have a very flexible server that makes uses of components to fulfill requests. Currently I am using redis pubsub for communication to avoid HTTP handler overhead (but that may not be worth it).
Thanks 🙏

As a workaround you could point two components at the same wasm module and give them different environment or config values to differentiate between them.

@lann I don't think that would address what @drbh is showing in their second comment though, would it?  It looks like the desire is to wait on an event within a running instance - is there another way to organise this?

Awesome framework! I'm new to spin, in my opinion isn't multiple handlers per component a common requirement regardless the limitation of wasm? Some rough ideas, maybe I'm wrong.
It should be a common case, a set of APIs in a component (wasm), they share common dependencies.
e.g.
POST /api/orders   (place an order)
GET   /api/orders/{orderId}  (get an order)
They are APIs to handle orders, should be in one wasm module, e.g. order-component .
I think it will be something like this.
#[http_post]
fn place_order(req: Request) -> Result<Response> {
    // insert a record to db
}

#[http_get]
fn get_order(req: Request) -> Result<Response> {
    // retrieve a record from db
}

//  more order APIs here....

And currently, I understand correctly,  it seems like just allow one function per component, very similar to aws lamda.
If I want two APIs, there are two ways,  1) put them in two wasm modules e.g. place-order-component and get-order-compoent,  2) do dispatch internally, something like this.
#[http_compoent]
fn handle_order(req: Request) -> Result<Response> {
    // if action=place_order, then call place_order
    // if action=get_order, then call get_order
    //  ...
}

fn get_order(req: Request) -> Result<Response> {
    // retrieve a record from db
}

fn place_order(req: Request) -> Result<Response> {
    // insert a record to db
}

Please ignore if my idea doesn't make sense 🙂.

@drbh In Spin 2.2 we introduced support for multiple trigger types in the same application.  In Spin 2.4, we introduced service chaining which allows one component to call another.  Doe these features satisfy your use case?

@drbh In Spin 2.3, we introduced multiple triggers in the same app. In Spin 2.4, we introduced service chaining where you can call one component from another.  Does that solve your use case?


[BUG] Is the plugin still working after latest Obsidian updates?

Describe the bug
Hello, @barkstone2 . Thanks for the amazing idea and all the efforts on the implementation. I would love to use your plugin. Unfortunately I tested it both in Windows and macOS but couldn't be successful.
In Windows, the plugin was downloaded correctly, with all files (react-app) and so on. After activating (also correctly, with Github oauth...), I hit publish and then I get an error "Failed to pushing to remote. There might be no changes to push", and then "src refspec main does not match any".
On mac, the plugin was not downloaded correctly, I don't know why. After a lot of Uninstall/Install, I just copied the plugin folder from Windows over the mac install and finally could get to the same error.
Relevant errors (if available) from notifications or console (CTRL+SHIFT+I)
No response
Steps to reproduce

install plugin
create GH repo
configure plugin (source folder and repo url)
activate
create note to be published
publish (with button in status bar)

Expected Behavior
No response
Addition context
No response
Operating system
macOS
Obsidian Version
1.7.6
Plugin version
0.0.3

Hello, @agnoldo. Thanks for your interest in this plugin.
I have resolved the "src refspec main does not match any" error, and a new version has been released. Please reinstall the plugin before using it.
However, the download issue hasn't fixed yet because i couldn't reproduce the issue on my Mac.
Could you provide additional error logs from the Obsidian console? You can check the console by pressing CMD + OPTION + I on Mac.

Hello @barkstone2 , thanks again, now for your (very very) fast response!
I have already updated the plugin in my Windows machine and got the following errors (first I clicked Activate and then I clicked Publish on one note):
Failed to stage react-app.
Error: spawn ENAMETOOLONG
stageReactApp @ plugin:vault-to-blog:7711
plugin:vault-to-blog:7698 Failed to pushing to remote. There might be no changes to push.
Pushing to https://github.com/agnoldo/agnoldo.github.io
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/agnoldo/agnoldo.github.io'
plugin:vault-to-blog:7650 Failed to stage changes.
fatal: pathspec 'public/sources/.eslintrc.cjs' did not match any files
stageChanges @ plugin:vault-to-blog:7650
plugin:vault-to-blog:7698 Failed to pushing to remote. There might be no changes to push.
Pushing to https://github.com/agnoldo/agnoldo.github.io
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/agnoldo/agnoldo.github.io'

Hello @agnoldo, have you reinstalled the plugin?
The issue occurred because the branch name of the react-app directory was not main.
To set your branch name to main, i recommend reinstalling the plugin.
Alternatively, you can change the branch name manually in {your_vault_path}/.obsidian/plugins/vault-to-blog/react-app/0.0.4/react-app.

Thanks, @barkstone2 . I have updated the plugin, but not reinstalled (uninstall + install). Doing it right now...

Unfortunately I have reinstalled and, when activating, I got the following error:
plugin:vault-to-blog:7638 Failed to remove remote.
Error: Git.cwd: cannot change to non-directory "C:\Users..../.obsidian/plugins/vault-to-blog/react-app/0.0.4/react-app"
I can confirm that the vault-to-blog plugin folder doesn't have react-app subfolder...
This error happened on Windows. I will test on a Mac later.

Did the activation succeed?
The error message, Failed to remove remote, can appeared when the plugin is deactivated by changing the source directory or repository URL, or by clicking the deactivate button.
If the activation succeeded, it is not actually an error. In that case, there is no problem using the plugin.
I know these error messages can confuse users, so I plan to change them to only display necessary messages.
I apologize for any confusion caused.

Hello @barkstone2 . I tried to Activate again and now it worked beautifully, without any error message. And I can confirm that plugin folder now contains two subfolders: ".git-backup" and "react-app".
Then I hit publish on my note and again no error messages. I checked my repo and ... vòilá!
훌륭한 아이디어와 훌륭한 작업에 박수를 보냅니다. 진심으로 감사드리며 브라질에서 직접 포옹을 보내드립니다.
I hope Google Translate works welll... ;-)

I'm glad to hear that.
Thanks again for your interest in this plugin. 😄


[Task] Move AML compute cluster from Deep Learning to Azure ML service bundle

Story: #350
Description
As the compute cluster will be required in the majority of use cases, is scaled to zero, and is used by both deep learning and inference bundles it should be part of the Azure ML service, rather than the deep learning service.

This will be done as part of rework of AML templates for private compute. A compute cluster will be deployed with AML workspace service to allow for custom image builds.


Please add "rights" property

Dear Rainer,
considering ongoing efforts to implement stuff like Open Educational Ressources, where it is desireable to clearly state the licence under which material such as annotations are released, would it be possible to also include the "rights" values as defined by W3C (property "rights", fields "type" and "id")? This would improve very much automated import of annotations into other systems and their re-use.
Thank you so much for your tireless efforts for improving Annotorious,
Michael

Hi Michael,
actually, that's already possible. Alas, it's not documented ;-)
Or, to be more precise: there's no specific feature for rights. But a mechanism that allows editor plugins to add arbitrary fields to the top-level of the annotation object. The method is called onSetProperty, and is handed to the args property that widgets receive when they are rendered.
This way you could, for example, implement a widget that offers a license chooser for the annotation. Is this what you are looking for? If annotations would be more globally licensed (i.e.: always CC-BY on everything), then you could currently do this in two ways:

By simply modifying the annotation outside of Annotorious before it gets stored (i.e. the rights field would get set in the onCreateAnnotation handler
By creating an "empty" widget, with no GUI element, that does nothing except use onSetProperty to inject the rights data.


about abuse

302.at
Is this a long-term public service or just demo site for this repo?
Can I use it as a pic provider for my personal blog?

302.at
Is this a long-term public service or just demo site for this repo?
Can I use it as a pic provider for my personal blog?


[emojify-codelab]: Documentation points to google internal system

The sample documentation (https://codelabs.developers.google.com/codelabs/cloud-kotlin-emojify/#1) links to an internal google-corp website:

Clicking on the link redirects to this page:

The correct URL should be https://console.cloud.google.com/apis/api/appengine.googleapis.com

Thank you for reporting this! This is now fixed.


Clicking on "Playoffs" and/or "Bracket" causes other buttons to disappear

Not sure if this is done because of a data retention policy (in which case disregard this) but when clicking on either "Playoffs" or "Bracket" from a Division view, all the other buttons e.g. "Players" disappear.

bracket is division independent, while the rest of the tabs depend on the division they are in.
For instance EST MON and EST SUN both see the same Bracket button that takes them to the same place. Once on the bracket page its more difficult to tell which division the Players tab should reference.

Ah, so playoffs are cross-division, then?

correct

Then this isn't a real issue


feat: updated accept tests to be environment agnostic

Description
updated accept tests to be environment agnostic
References

https://github.com/Energinet-DataHub/dh3-infrastructure/pull/822

Codecov Report
Attention: 246 lines in your changes are missing coverage. Please review.

Comparison is base (21978a1) 83.07% compared to head (72a960a) 73.04%.
Report is 329 commits behind head on main.

Files
Patch %
Lines

...essages/RequestAggregatedMeasureMessageReceiver.cs
0.00%
32 Missing :warning:

...uration/Middleware/UnHandledExceptionMiddleware.cs
0.00%
29 Missing :warning:

.../Api/Authentication/DevMarketActorAuthenticator.cs
0.00%
27 Missing :warning:

source/Api/EventListeners/InboxEventListener.cs
0.00%
24 Missing :warning:

source/Api/OutgoingMessages/PeekRequestListener.cs
0.00%
21 Missing :warning:

...frastructure/ArchivedMessageEntityConfiguration.cs
0.00%
17 Missing :warning:

source/Api/Program.cs
80.30%
13 Missing :warning:

...pi/EventListeners/ProcessInitializationListener.cs
0.00%
11 Missing :warning:

.../Authentication/BearerTokenAuthenticationMethod.cs
56.52%
10 Missing :warning:

...rce/Api/OutgoingMessages/DequeueRequestListener.cs
0.00%
10 Missing :warning:

... and 18 more

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #688       +/-   ##
===========================================
- Coverage   83.07%   73.04%   -10.04%
===========================================
  Files         456      414       -42
  Lines       10418     9096     -1322
===========================================
- Hits         8655     6644     -2011
- Misses       1438     2270      +832
+ Partials      325      182      -143

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat(backup): fix test cases for multiple backup stores

Which issue(s) this PR fixes:

Issue # longhorn/longhorn#5411
What this PR does / why we need it:
Special notes for your reviewer:
Additional documentation or context

Summary by CodeRabbit

New Features

Introduced new test cases for managing volume snapshots and backing images, including support for specific selectors.

Bug Fixes

Improved robustness of backup and volume management logic, particularly during restoration processes.

Documentation

Updated comments and docstrings for clarity in test functions.

Refactor

Streamlined function signatures for better clarity regarding expected input types.
Standardized backup volume retrieval methods across multiple tests.

Tests

Adjusted tests to ensure accurate handling of backup operations and states.
Increased sleep duration for recurring backup job checks to improve timing accuracy.
Enhanced validation of backup states during backup and restore operations.

When I tried to list backups from a backup volume by calling the REST API like:
$ curl -X POST http://<IP_ADDRESS>:30000/v1/backupvolumes/test-1-9b3f1a0e?action=backupList

The backups from other volumes were also listed:
{
	"data": [{
		"actions": {},
		"backupMode": "incremental",
		"backupTargetName": "default",
		"compressionMethod": "lz4",
		"created": "2024-12-18T07:48:25Z",
		"error": "",
		"id": "backup-28eb283fc8394e17",
		"labels": {
			"longhorn.io/volume-access-mode": "rwo"
		},
		"links": {
			"self": "http://<IP_ADDRESS>:9500/v1/backups/backup-28eb283fc8394e17"
		},
		"messages": null,
		"name": "backup-28eb283fc8394e17",
		"newlyUploadDataSize": "0",
		"progress": 100,
		"reUploadedDataSize": "0",
		"size": "0",
		"snapshotCreated": "2024-12-18T07:48:23Z",
		"snapshotName": "8656077f-82d9-4f28-b7b0-9c84539df7bb",
		"state": "Completed",
		"type": "backup",
		"url": "s3://backupbucket@us-east-1/backupstore?backup=backup-28eb283fc8394e17&volume=test-1",
		"volumeBackingImageName": "",
		"volumeCreated": "2024-12-18T07:48:23Z",
		"volumeName": "test-1",
		"volumeSize": "21474836480"
	}, {
		"actions": {},
		"backupMode": "incremental",
		"backupTargetName": "default",
		"compressionMethod": "lz4",
		"created": "2024-12-18T07:54:26Z",
		"error": "",
		"id": "backup-e0fd1581dd3e4aba",
		"labels": {
			"longhorn.io/volume-access-mode": "rwo"
		},
		"links": {
			"self": "http://<IP_ADDRESS>:9500/v1/backups/backup-e0fd1581dd3e4aba"
		},
		"messages": null,
		"name": "backup-e0fd1581dd3e4aba",
		"newlyUploadDataSize": "0",
		"progress": 100,
		"reUploadedDataSize": "0",
		"size": "0",
		"snapshotCreated": "2024-12-18T07:54:23Z",
		"snapshotName": "296b20f0-3f6c-4a68-ac5d-39e31fcb2349",
		"state": "Completed",
		"type": "backup",
		"url": "s3://backupbucket@us-east-1/backupstore?backup=backup-e0fd1581dd3e4aba&volume=test-2",
		"volumeBackingImageName": "",
		"volumeCreated": "2024-12-18T07:54:23Z",
		"volumeName": "test-2",
		"volumeSize": "21474836480"
	}],
	"links": {
		"self": "http://<IP_ADDRESS>:9500/v1/backupvolumes/test-1-9b3f1a0e"
	},
	"resourceType": "backup",
	"type": "collection"
}

Is this expected behavior?

When I tried to list backups from a backup volume by calling the REST API like:
$ curl -X POST http://<IP_ADDRESS>:30000/v1/backupvolumes/test-1-9b3f1a0e?action=backupList

The backups from other volumes were also listed:
...
Is this expected behavior?

It will be fixed after https://github.com/longhorn/longhorn-manager/pull/3360.

Using PR code to run backup test cases(-k test_backup), 2 failures but did not see error related to  bv, b = find_backup(client, volname, snap.name).

Using PR code to run backup test cases(-k test_backup), 2 failures but did not see error related to bv, b = find_backup(client, volname, snap.name). no concern from me , thank you.

tests.test_basic.test_backup_metadata_deletion[s3] is related to issue that @yangchiu mentioned aboved.

Does this PR include all the test cases that need to be refined?

Does this PR include all the test cases that need to be refined?

It should be, but I might lose some. I have some failed test cases that were not re-run.
I will re-run them tonight.
"test_basic.py::test_dr_volume_activated_with_failed_replica",
"test_basic.py::test_allow_volume_creation_with_degraded_availability_dr",
"test_engine_upgrade.py::test_auto_upgrade_engine_to_default_version_dr_volume",
"test_ha.py::test_engine_crash_for_dr_volume",
"test_ha.py::test_engine_image_miss_scheduled_perform_volume_operations",
"test_ha.py::test_engine_image_not_fully_deployed_perform_volume_operations",            "test_ha.py::test_engine_image_not_fully_deployed_perform_dr_restoring_expanding_volume",
"test_migration.py::test_migration_with_restore_volume",

Does this PR include all the test cases that need to be refined?

It should be, but I might lose some. I have some failed test cases that were not re-run. I will re-run them tonight.

I'm not sure if these failures have been fixed: https://ci.longhorn.io/job/private/job/longhorn-tests-regression/7817/testReport/.
Could you please help confirm?

I'm not sure if these failures have been fixed: https://ci.longhorn.io/job/private/job/longhorn-tests-regression/7817/testReport/.
Could you please help confirm?

tests.test_recurring_job.test_recurring_job_groups
tests.test_recurring_job.test_recurring_job_multiple_volume

Yes, I think these are only two left, and I still look into the cases.

@mantissahz  build / flake8 check (pull_request) failed

@coderabbitai pause


Dependency Telemetries assigned to wrong operation-id in webjobs

Repro Steps

Create a .NET (Full Framework) Console App
Install the Web Jobs Framework
Install Application Insights (tested with 2.5.1). Make sure you have the DependencyModule configured in the AppInsights.config
Create a Function to receive a QueueMessage in the following way:
NOTE: The message has to contain a RootOperationId and a ParentId

public async Task ProcessAsync([QueueTrigger([YOUR-TRIGGER])] string message, TextWriter log) {

  var telemetryOperation = this.BeginTelemetryOperation(message);

  try {
    ... [http-dependency]
    ... [http-dependency]
  }
  finally {
    telemetryClient.StopOperation(telemetryOperation );
  }
}

private Microsoft.ApplicationInsights.Extensibility.IOperationHolder<RequestTelemetry> BeginTelemetryOperation(message)
{
  RequestTelemetry requestTelemetry = new RequestTelemetry { Name = $"Dequeue from [queue]" };
  if (message != null)
  {
    if (message.RootId != null && message.ParentId != null)  {
       requestTelemetry.Context.Operation.Id = message.RootId.ToString();
       requestTelemetry.Context.Operation.ParentId = message.ParentId.ToString();
    }
  }
  var operation = telemetryClient.StartOperation(requestTelemetry);
  return operation;
}

Put some load on the queue and monitor behavior

Actual Behavior
dependencies from other messages are correlated to the wrong operation-id

Expected Behavior
Version Info
SDK Version : 2.5.1
.NET Version : 4.6.1
How Application was onboarded with SDK(VisualStudio/StatusMonitor/Azure Extension) :VisualStudio
OS : Win10
Hosting Info (IIS/Azure WebApps/ etc) : Azure Web Job (console app)

which version of WebJobs SDK are you running? How did you configure the dependency collection and TelemteryConfiguration?
I believe you did not add OperationCorrelationTelemtryIntitializer into the TelemetryConfiguration and web jobs do not do it by default.
We are working on better story in WebJobs 3.0 - you won't need to configure anything: https://github.com/Azure/azure-webjobs-sdk/releases/tag/v3.0.0-beta8

Hi @lmolkova
We are currently using 2.0.0
TelemetryConfiguration is added using the `TelemetryConfiguration.Active' singleton
TelemetryConfiguration.Active.InstrumentationKey = configProvider.ApplicationInsights.InstrumentationKey;
TelemetryConfiguration.Active.TelemetryInitializers.Add(new CloudRoleTelemetryInitializer("[WORKER]"));

dependency collection is performed using the default modules coming with nuget installer:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
	<TelemetryInitializers>
		<Add Type="Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer, Microsoft.AI.DependencyCollector"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/>
	</TelemetryInitializers>
	<TelemetryModules>
		<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
			<ExcludeComponentCorrelationHttpHeadersOnDomains>
				<!--
        Requests to the following hostnames will not be modified by adding correlation headers.
        Add entries here to exclude additional hostnames.
        NOTE: this configuration will be lost upon NuGet upgrade.
        -->
				<Add>core.windows.net</Add>
				<Add>core.chinacloudapi.cn</Add>
				<Add>core.cloudapi.de</Add>
				<Add>core.usgovcloudapi.net</Add>
				<Add>localhost</Add>
				<Add><IP_ADDRESS></Add>
			</ExcludeComponentCorrelationHttpHeadersOnDomains>
			<IncludeDiagnosticSourceActivities>
				<Add>Microsoft.Azure.EventHubs</Add>
				<Add>Microsoft.Azure.ServiceBus</Add>
			</IncludeDiagnosticSourceActivities>
		</Add>
		<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
			<!--
      Use the following syntax here to collect additional performance counters:

      <Counters>
        <Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" />
        ...
      </Counters>

      PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName

      NOTE: performance counters configuration will be lost upon NuGet upgrade.

      The following placeholders are supported as InstanceName:
        ??APP_WIN32_PROC?? - instance name of the application process  for Win32 counters.
        ??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters.
        ??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters.
      -->
		</Add>
		<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/>
		<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer">
			<!--</Add>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.FirstChanceExceptionStatisticsTelemetryModule, Microsoft.AI.WindowsServer">-->
		</Add>
	</TelemetryModules>
	<TelemetryProcessors>
		<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
		<Add Type="Microsoft.ApplicationInsights.Extensibility.AutocollectedMetricsExtractor, Microsoft.ApplicationInsights"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
      <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
      <ExcludedTypes>Event</ExcludedTypes>
    </Add>
	</TelemetryProcessors>
	<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
<!--
    Learn more about Application Insights configuration with ApplicationInsights.config here:
    http://go.microsoft.com/fwlink/?LinkID=513840

    Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file.
  --></ApplicationInsights>

TelemetryConfiguration.Active should call TelemetryConfigurationFactory which should register that initializer

ok, thanks, could you please provide more info:

in Log Analytics, please query all telemetry for  a particular operation, parent id, operation id and id, type (request/dependency), name and operation name,timestamp are essential fields  we'll be looking into
mark dependencies are correlated to the wrong request
mark dependencies are correlated to the right request
what parent id and root id were passed along the message

can you send it via email (lmokova at microsoft.com)?

@lmolkova I've sent you an email with more details. Please don't hesitate to contact me directly if anything else is needed

Was this actually fixed in 3.0? I'm experiencing similar symptoms with Webjobs 3.0.

I am also seeing this problem for our webjobs 3.0

@emilbm @Rfaering can you please provide more info of the issue you experience with 3.0 Web Jobs?

which telemetry items have wrong operation id? It is requests, dependencies, traces, etc?
examples of such telemetry items (please strip anything sensitive) and provide all properties - the easiest was to export data from kusto

Hi @lmolkova,
two years later and in a different place we are still experiencing the issue.
This time in<EMAIL_ADDRESS>We might just open a support ticket with Microsoft to look into it

Hi,
I think is worth sharing here the result of the investigation done with ms support, hopefully it will help other ppl experiencing the same issue.
There is a bug in the System.Diagnostic.DiagnosticSource namespace around the code written to support Activities for older framework (.net 4.#).

The problem appears to be where the injected diagnostic listener doesn’t account for the behaviour within .Net 4.# where the framework might chain calls to the same URI on the same connection in a singular async context

Beware, this doesn't only impact wrong correlations, but propagation of the wrong activity trace/headers via http headers.

@federicobarera: Did you find a workaround? We are experiencing the exact same problem where a function based on the QueueTrigger gets a wrong operationId.

@peterwind
For us the issue affects: API -> HTTP -> API.
The workaround (which we are currently testing), is to add a DelegatingHandler to HttpClients. I am posting it below
public class QueueHttpHandler : DelegatingHandler
    {
        // We store a mapping from service point to semaphore slim. This lets us properly limit concurrent requests for individual URLs
        // based on the mapping from URI (service point) to semaphore slim.
        private ConditionalWeakTable<ServicePoint, SemaphoreSlim> _servicePointMap = new ConditionalWeakTable<ServicePoint, SemaphoreSlim>();

        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var servicePoint = ServicePointManager.FindServicePoint(request.RequestUri);

            // This assumes HTTP/1.1, one request per connection (which is the case by default anyways)
            var queue = _servicePointMap.GetValue(servicePoint, sp => new SemaphoreSlim(sp.ConnectionLimit, sp.ConnectionLimit));

            await queue.WaitAsync();
            try
            {
                var response = await base.SendAsync(request, cancellationToken);
                response.Content = new QueueContent(response.Content, queue);
                return response;
            }
            catch
            {
                // If there's an exception producing the response, release the semaphore slim
                queue.Release();
                throw;
            }
        }

        // This content is responsible releasing the semaphore when the content is fully read
        private class QueueContent : HttpContent
        {
            private readonly HttpContent _httpContent;
            private readonly SemaphoreSlim _queue;

            public QueueContent(HttpContent httpContent, SemaphoreSlim queue)
            {
                _httpContent = httpContent;
                _queue = queue;
            }

            protected override async Task SerializeToStreamAsync(Stream stream, TransportContext context)
            {
                try
                {
                    await _httpContent.CopyToAsync(stream, context);
                }
                finally
                {
                    // Release the semaphore slim after the copy
                    _queue.Release();
                }
            }

            protected override bool TryComputeLength(out long length)
            {

                var contentLength = _httpContent.Headers.ContentLength;
                if (contentLength == null)
                {
                    length = 0;
                    return false;
                }

                length = contentLength.Value;
                return true;
            }
        }
    }

and in service registration...
services
.AddTransient<QueueHttpHandler>()
.AddHttpClient<...> ()
.AddHttpMessageHandler<QueueHttpHandler>()


fix: Set correct publisher for WindowsOsUpdateExtension

This is important for correct configuration of azcmagent .
Sidenote: the fullname required for setting up azcmagent config set extensions.allowlist should ideally be more easily visible in the portal.
Now I see eg. WindowsOsUpdateExtension in the Name column,
Microsoft.SoftwareUpdateManagement.WindowsOsUpdateExtension in the Type field when I click through but nowhere I can see the canonical name in the publisher/name format, ie. Microsoft.SoftwareUpdateManagement/WindowsOsUpdateExtension

@johnmarco
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Validate Node Name

Validate FAR CR name to a node name in the cluster.
Add three new verbs to check whether a specific node name match the nodes' names in the cluster.
Add and update unit-tests

/lgtm
/hold
giving others the chance to check if their reviews are addressed

I believe 2/3 acks is good enough for this PR :slightly_smiling_face:
In any case @mshitrit feel free to reply here, and I will address it with a new PR :D
/unhold


Refactor the code.

Currently the code is structured in a way that even I forgot how it goes.
Target is that there should only be DepthPoint, Lines, Triangle and TriangleGroup structs.

Square will be TriangleGroup of 2 triangles
Cube will be TriangleGroup of 12 triangles

All SDL2 commands used will get replaced with a wrapper, that will let the renderer be easily ported to other libraries.

Did just that


Add 'applications' field to ApplicationSet 'status' field, which would indicate errors/conditions for individual applications

This issue is a follow up to issue #71, which adds .status.conditions to ApplicationSet. This issue is opened to track adding .status.applications to ApplicationSet CRD. Under this new field conditions for individual applications would be added.
Note: There is some concern (myself included), that what is proposed below is too verbose (will produce a status field whose payload is too large) for large numbers of Applications.
Example
Here is an ApplicationSet with a single Application that failed on rendering the template:
status:
  conditions:
    # (proposed on issue #71)

  applications: # new field
    - name: my-app
      condition:
        # Parameter generation was successful...
        - type: ParametersGenerated
          status: True
          reason: ""
          message: ""
          lastTransitionTime: (...)

        # But template rendering failed.
        - type: TemplateRendered
          status: False
          reason: MissingParameter
          message: "Error occurred: Template referenced a parameter that doesn't exist"
          lastTransitionTime: (...)

        # Because template rendering failed, we couldn't apply the resources.
        - type: ResourcesApplied
          status: False
          reason: ""
          message: ""
          lastTransitionTime: (...)

This simulates an ApplicationSet with a single Application has no errors, it sucessfully generated, templated, and applied:
status:
  conditions:
    # (proposed on issue #71)

  applications:
    - name: my-app
      condition:
        # All Conditions were successful
        - type: ParametersGenerated
          status: True
          lastTransitionTime: (...)
        - type: TemplateRendered
          status: True
          lastTransitionTime: (...)
        - type: ResourcesApplied
          status: true
          lastTransitionTime: (...)

condition types for individual Applications (these are for status.applications.conditions):

ParametersGenerated: false if error occurred when running the generator, otherwise true (example error: we couldn't connect to the git repository)
TemplateRendered:  false if error occurred when applying parameters to the template, otherwise true (example error: the template referenced a parameter that doesn't exist)
ResourcesApplied: false if we were unable to update/delete the application, otherwise true (example error: the generated application name was too long)

@jgwest I would like to work on this issue (after merging https://github.com/argoproj-labs/applicationset/pull/372) . Do you mind if I take it?

I'd love to have this one so I can write custom health checks for ApplicationSet and use sync wave with it.


🐛 [Bug report]: Server run break locally on Windows due to linting error.

Descrcibe the bug?
So when we fork this repo and run the server on windows machine it throws error due to eslint demanding to delete cr files.
And this results in server breaking and the server fails to start.
Steps to reproduce the bug?
1- Fork the repo and clone it on windows machine.
2- Install the packages using npm.
3- Start the server and it will through the error.
Expected behavior
It Should start the server and then we can start with the creation of our play.
Desktop (Please provide your system information)

OS: Windows
Browser: Edge
Version 109.0.1518.70

Mobile (Please provide your device information)
No response
Screenshot / Screenshare

Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@ANKIT9761 Don;t forget a title while creating issues :)


Server

Codecov Report
Base: 48.70% // Head: 2.15% // Decreases project coverage by -46.55% :warning:

Coverage data is based on head (9335865) compared to base (23f5dce).
Patch coverage: 0.32% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #109       +/-   ##
==========================================
- Coverage   48.70%   2.15%   -46.56%
==========================================
  Files          37      26       -11
  Lines        4806    4415      -391
==========================================
- Hits         2341      95     -2246
- Misses       2465    4320     +1855

Impacted Files
Coverage Δ

circuit/src/utils.rs
0.00% <0.00%> (-69.91%)
:arrow_down:

protocol/src/error.rs
2.04% <0.00%> (ø)

protocol/src/manager/ivp.rs
0.00% <0.00%> (ø)

protocol/src/manager/mod.rs
0.00% <0.00%> (ø)

protocol/src/utils.rs
0.00% <0.00%> (-68.75%)
:arrow_down:

protocol/src/main.rs
0.72% <0.73%> (-6.97%)
:arrow_down:

circuit/src/gadgets/set.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

circuit/src/gadgets/sum.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

circuit/src/poseidon/mod.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

circuit/src/poseidon/native/mod.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 20 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Create Source Delete page

This PR implements a couple of things related to the Source Delete page:

Implements a new Source Delete page (i.e. fixes #804)
On the Source Edit page, adds a link to the Source Delete page
Makes some tweaks to the Chant Delete page, cleaning it up and making it resemble the new Source Delete page.
Updates the path for the Chant Delete page, from /chant-delete/<id> to /chant/<id>/delete/ (the Source Delete path is constructed similarly).
Adds some tests for the Source Delete page, updates some to match the new Chant Delete path, and refactors some to follow best practices (i.e. using reverse rather than hard-coding paths)

In addition to fixing #804, this PR brings us a step closer to resolving #486 - all we need now is a Sequence Delete page modelled on our existing Chant Delete page


how to GET_contact_from_ID

How to get the contact from ID ?
I have tried "get_contact_from_id("cellnumber") but does not work!!!
Also if the number or contact is not on my list i cannot send message to without first adding the contact to my list.

#97

#97

Hi,
comand send_contact ?
I, add in int.py:
def send_contact(self, chat_id, contact_ids):
return self.wapi_functions.sendContact(chat_id, contact_ids)
return erro:
Error in function sendContact (TypeError: window.WAPI.getChat(...).sendContact is not a function). Command: return WAPI.sendContact('558694434027<EMAIL_ADDRESS>arguments[0])


Updating per minute

Instead of updating every second, stats monitor is updating every minute on some devices.

This was fixed by 0bcefbc9df28b77c095f48020f645c8cf16c856a


ArduinoJson.h not found

I've tried to put aJSON instead of ArduinoJson but is not working anymore

Use ArduinoJson Library from Benoit Blanchon ver.5.13.5 to achieve the results and compile everything fine.