fix: hierarchical read rights from Account to Asset and from Asset to Sensor

Please discuss between @GustaafL and @nhoening.

The consultant account does not have access to the Assets under a consultant client account individually through the assets/ endpoint. This changes should make the Account read access go down to the Assets and Sensors

Should the create-children, update and delete rights also be derived hierarchically? It looks odd that only the read rights would be derived this way, right?

We're only working on reading now. And for this, it makes sense.
The others are more delicate and require other thinking. Maybe combinations of both, I don't know. And extra tests.
I see no problem with keeping it like this for now.


Strongly Typed signatures for Flatten

Flatten is really neat. I think the following signatures would make it even more versatile:

Flatten<T>(IEnumerable<T> source, Func<T, IEnumerable<T>> recursion)

Takes each item in the original array and gets the items mentioned in the recursion statement recursively. Takes the item itself if the recursion returns null. For example, one could rewrite the current Flatten() as Flatten<object>(source, ((IEnumerable)source).Cast<object>.Where(predicate))

Flatten<T, V>(IEnumerable<T> source, Func<T, IEnumerable<T>> recursion, Func<T, V> selector)
Specifies what element is returned when at a leaf, if not the item itself.

Flatten<T>(T root, Func<T, IEnumerable<T>> recursion)
Similar, but does not first require an enumerable. For example, if AggregateException.Flatten() did not exist, one could do something like Flatten<Exception>(ex, e => e is AggregateException ae ? ae.InnerExceptions ? null)

I haven't quite thought through the details here, so some details might need clarification or correction (like the difference between returning null and an empty array), but that's the idea.

I think what you want is already present in TraverseBreadthFirst or TraverseDepthFirst.
The first signature you mention is missing, but easy to provide:
IEnumerable<T> TraverseDepthFirst<T>(IEnumerable<T> roots, Func<T, IEnumerable<T>> childrenSelector) =>
    roots.SelectMany(root => MoreEnumerable.TraverseDepthFirst(root, childrenSelector));

Hhm, then maybe it should have an overload to specify whether to only include the leaves. Then it would do basically what Flatten does, but better typed.


Push failed: Utils::CytokineUnknownError

I'm getting the following error message when trying to push to heroku:
-----> Fetching set buildpack https://github.com/kr/heroku-buildpack-inline.git... done
-----> Mattermost app detected
-----> Retrieving mattermost tar from https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz
-----> Discovering process types
Procfile declares types -> web
-----> Compressing...
Done: 29.1M
-----> Launching...
!     Push failed: Utils::CytokineUnknownError
!     Please try pushing again.
!     If the problem persists, see http://help.heroku.com/and provide Request ID da31f10a-f11b-44e6-a2ba-452ac525ac08.

What did Heroku support say when you followed their help instructions in the output?
It's working for me and the error occurs after the build completes successfully so it seems likely that is a Heroku error rather than a buildpack error.
If Heroku said it's an error with the buildpack please reopen this issue with as much extra info as you and Heroku can provide and I'll take a closer look.

Third time is the charm. Worked now flawlessly. Thanks for your quick response.


Update bracket-push example

Avoids conversion to list. Terminates early on bad input.

Yes, you did.
I don't like to change reference solutions unless there's a clear benefit.
I like the implied policy of having examples rather than "best" solutions.
This policy reduces tension between contributors getting "their" solution in.
There's plenty of room for that on the "community solutions" page.


Add tabbed navigation for stream edit page.

This PR does following refactors as  preparatory works for having tabbed design stream edit page. It contains commits from @pragatiagrawal31's #15445 . We do following changes commit-wise:

Use consistent structure using divs instead of lis and ul for organizing content in stream edit page.
Showing stream deactivation button at the end.
Cleanup subscription.css to remove dead CSS rules from it.
Extract modal related css rules to a separate modal.css files.
Commits left for merging:
Remove content-editable widget for updating stream name and description and add a modal for handling these updates.
Wrap contents into different settings group (General | Personal | Subscribers).
Add tabbed widget for navigation between different settings in stream settings page.

Testing plan: Mostly manually, and node tests.
GIFs or screenshots:

@timabbott before proceeding to make concrete changes for tabbed design for stream edit page it would be better to get reviews on this refactor as further work if done separately will conflict with(so I am currently stacking on top of these commits).

@m-e-l-u-h-a-n thanks for rebasing this!  I'm really excited about this refactor, and completely agree we should try to get it in before doing the big migration of stream settings to a tabbed UI.
The logic changes in this PR are somewhat hard for me to read/verify, and I think would have been better done with some of the more complex commits split into multiple smaller commits, but it's possible it's not worth the effort to do so.  That said, a lot of the smaller changes that I posted questions about seem potentially independent of the rest of the commit, and the way I'd typically write a PR is to put those in their own mini commits with a commit message answering the natural question of why we're making that change.
Anyway, thanks for working on this!  I've been wanting to kill those content-editable widgets for years :)

@timabbott I have updated this pr and replied to changes done for each comment in their respective threads. I added separate commits for translation issues (as they felt unrelated to rest of the commit).
For .form-inline thing I wish to open separate pr removing that class from stream edit/creation page wherever possible.
It is ready for another review.

@m-e-l-u-h-a-n can you rebase this and add a summary comment on what (if anything) this still needs before merging?  This is a reasonably complex project, and I'd like to push hard on integrating it so that we can start planning follow-ups.  I'm really excited about this!

I was waiting for https://github.com/zulip/zulip/pull/18872#discussion_r653136084 to be resolved and added a commit (https://github.com/zulip/zulip/pull/18872/commits/6084bf980f5891bc474d76476a261b1e0810e43a) for this. I think this does not require any further additions, and as the next step after this, I am planning to add the tabbed design because this contains almost all of the refactors that were needed to have a neat migration to tabbed design.

I merged all but the content_editable cutover commit as the series ending with c36aa1126c72fbf55e2e746c46d4b629db8e6b6e, after doing somewhat extensive QA on the user experience with just all the refactoring commits included (the rebase was clean).
I didn't merge the cutover because the animation for saving a change to a stream name is super weird (in that it creates a row with some weird green flash behavior). One theory for how to fix this is that we perhaps want the "Saving" item to live in the row containing the stream name and "Preview" widget (and just have the stream name get abbreviated with ... temporarily if space is needed via overflow CSS).
But it's also possible that this problem gets indirectly addressed by the tab-switcher migration commit, so if it's annoying to fix, we can potentially just wait to merge this last commit until we can do so together with that cutover.

I've updated this PR with changes that implement tabbed navigation. It contains following three changes now:

Remove content-editable widget for updating stream name and description and add a modal for handling these updates.
Wrap contents into different settings group (General | Personal | Subscribers).
Add tabbed widget for navigation between different settings in stream settings page.

About saving indicator problem I've asked for some ideas at https://chat.zulip.org/#narrow/stream/101-design/topic/stream.20settings.20page/near/1219211.

This is great. I think we can likely merge the first two commits once we:

[ ] Fix that "Saving" widget issue
[ ] Change the title for the modal from "Change stream info for #announce" to "Edit #announce".

Once that's done, I think a next step that could be done in a separate PR that we merge quickly is this:

[ ] Merge the "Change" button modal with the "Edit stream" modal, so that they're just one edit-general-stream-settings widget.

There's a bundle of UI changes that I think we should stack as individual commits on top of this migration to make this mergeable without being a clear UI regression:
On the common tabs system:

[ ] Increase the font size for the tab titles to match that for a section in that non-stream "Settings" UI.
[ ] Change the "Stream settings" in the top-left corner to use the Settings for #{stream_name}, and use the same font size we use for that area in "Manage streams" (but probably not small caps).  We will likely want to iterate on this further after merging, but we should display clearly which stream is selected somewhere in the right side region.

On the "Subscribers" tab:

[ ] Change the title to "Subscribers" from "Stream membership"
[ ] Move the "Email address" block to the bottom of "General", since that's where it belongs.
[ ] Change the users region to fill the full height of the page, rather than being fixed height.

On the "Personal" tab:

[ ] Make the design identical to how a normal "settings / organization settings" page works, i.e. remove the box, dividers, etc.

On the "General" tab:

[ ] Show text like "This stream does not have a description configured" if no description is set.
[ ] Replace the "This is a public stream. Any member of the organization can join without an invitation.Only organization administrators can post." text, which now feels weirdly compressed given all the available space, with something that explains each value on a line by itself in a normal font size. A bulleted list might work as a first pass; we should try that and see if we need to do something harder.

Does that plan make sense to you?

I've updated this pull request with following changes:

Fixed save widget issue.
change title in stream edit modal.
Editing a stream having longest possible name:

I have moved the tabbed design commit in a different branch so that this PR can be merged. As this thread is getting cluttered I'll open a separate PR with tabbed deign commit and other suggestions (https://github.com/zulip/zulip/pull/18872#issuecomment-870984616) on top of that.

I took care of the small rebase issue and confirmed the fixes for the last batch of comments.  Merged, thanks @m-e-l-u-h-a-n!
I'm really excited to see this project progressing; we've been talking about it for forever :).


Fix NixOS cross compilation: Revert "[nix-update-cpan] perlPackages.HTTPDaemon: 6.01 -> 6.12"

The recent perl modules bump triggered #66741 more globally and broke NixOS cross-compilation. Reverting the HTTPDaemon bump seems to fix NixOS compilation, but doesn't address the underlying cause.
Since I'm no expert in Perl and the original issue hasn't been fixed in over a year and a half I'm proposing a revert until the issue can be resolved.

So I'm specifically looking at NixOS builds: I was able to cross-compile NixOS via mobile-nixos after reverting this commit.

So I'm specifically looking at NixOS builds: I was able to cross-compile NixOS via mobile-nixos after reverting this commit.


Manual Improvement / PostProcessors

Issue Description
What did you expect to see happen?
In the user Manual, input requirements are specified for the BasicStatistics PP (PointSet or HistorySet). No words are given about the only possible output format (xml file)
What did you see instead?
Include the above output requirement format. If possible, include a table at the beginning of the PP section indicating Input/Outputs format for each PP.
Do you have a suggested fix for the development team?
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or improvement?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[x] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

This issue has been addressed with the new BasicStatistics (after dataobject rework) and never been closed.
Closing...


Use IsHttpApp as a constraint to apply HttpApp specific operators

Is your feature request related to a problem? Please describe.
Currently, there is an implicit conversion available between an Http and HttpApp. This is not exactly in line with how the ZIO ecosystem libraries are designed.
The main problem is that some of the operators are not discoverable unless and Http can be an HttpApp. This also causes a penalty in terms of performance.
Describe the solution you'd like
Instead of using HttpAppSyntax to perform an implicit conversion, we can use a constrain type called IsHttpApp,
and then defined operators directly on Http such as middleware and addHeader etc. provided an IsHttpApp is available.
Eg:
sealed trait Http[-R, +E, -A, +B] {
  // ...
  def addHeader(name: String, value: String)(implicit ev: IsHttpApp[R, E, A, B]): HttpApp[R, E] = ???
  // ...
}

Working in Scala 3
https://scastie.scala-lang.org/Q1NRJTrYTFm9Kkt9c3izxQ
trait IsHttpApp[+R, -E, +A, -B] {
  type ROut
  type EOut
}

object IsHttpApp {
  type Aux[R, E] = IsHttpApp[R, E, Request, Response[R, E]] {
    type ROut = R
    type EOut = E
  }

  implicit def make[R, E]: Aux[R, E] = new IsHttpApp[R, E, Request, Response[R, E]] {
    override type ROut = R
    override type EOut = E
  }
}

But this solution doesn't work in Scala 2.

HttpApp now extends HeaderModifiers also. This way, we get a ton of new operators automatically. I don't think this is required anymore.


Add missing method

Thanks, but we didn't see your PR :) Fixed here

Thanks, but we didn't see your PR :) Fixed here


"TypeError: cannot unpack non-iterable NoneType object" when attempting to XCLAIM a stream message that no longer exists

This is a tricky edge case, so I'll give a repro example using redis-cli, then show how to provoke it in aioredis.
Create a stream and write some messages to it:
<IP_ADDRESS>:6379> xadd mystream '*' x 1
"1569004125994-0"
<IP_ADDRESS>:6379> xadd mystream '*' x 2
"1569004127018-0"
<IP_ADDRESS>:6379> xadd mystream '*' x 3
"1569004127826-0"
<IP_ADDRESS>:6379>

Create a consumer group, and read from the stream using that group:
<IP_ADDRESS>:6379> xgroup create mystream mygroup 0-0
OK
<IP_ADDRESS>:6379> xreadgroup group mygroup consumer1 count 10 streams mystream >
1) 1) "mystream"
   2) 1) 1) "1569004125994-0"
         2) 1) "x"
            2) "1"
      2) 1) "1569004127018-0"
         2) 1) "x"
            2) "2"
      3) 1) "1569004127826-0"
         2) 1) "x"
            2) "3"

As expected, that consumer has 3 pending messages:
<IP_ADDRESS>:6379> xinfo consumers mystream mygroup
1) 1) "name"
   2) "consumer1"
   3) "pending"
   4) (integer) 3
   5) "idle"
   6) (integer) 21656

Now, write 1000 messages to the stream, using a MAXLEN of 100. This is the crucial part of the bug - we're writing enough messages that those 3 entries that are currently pending will fall off the end of the stream.
$ for i in $(seq 1000); do redis-cli xadd mystream MAXLEN '~' 100 '*' x $i; done

As expected, the stream has about 100 items, and those 3 messages are still pending:
<IP_ADDRESS>:6379> xlen mystream
(integer) 195
<IP_ADDRESS>:6379> xpending mystream mygroup - + 10 consumer1
1) 1) "1569004125994-0"
   2) "consumer1"
   3) (integer) 253409
   4) (integer) 1
2) 1) "1569004127018-0"
   2) "consumer1"
   3) (integer) 253409
   4) (integer) 1
3) 1) "1569004127826-0"
   2) "consumer1"
   3) (integer) 253409
   4) (integer) 1

If a new consumer comes along and tries to XCLAIM them, Redis returns nil because those message IDs are no longer in the stream:
<IP_ADDRESS>:6379> xclaim mystream mygroup consumer2 1000 "1569004125994-0" "1569004127018-0" "1569004127826-0"
1) (nil)
2) (nil)
3) (nil)

Here's that same sequence of events using aioredis:
import asyncio
import secrets

import aioredis

STREAM = secrets.token_hex(8)
GROUP = 'mygroup'
CONSUMER = 'myconsumer'

async def main():
    conn = await aioredis.create_redis('redis://localhost')

    for i in range(3):
        await conn.xadd(STREAM, {'x': str(i)})

    await conn.xgroup_create(STREAM, GROUP, '0-0')

    messages = await conn.xread_group(GROUP, CONSUMER, [STREAM], count=10, latest_ids=['>'])
    print(f'messages: {messages}')

    for i in range(1000):
        await conn.xadd(STREAM, {'x': str(i)}, max_len=100)

    pending = await conn.xpending(STREAM, GROUP, '-', '+', 10, CONSUMER)
    print(f'pending: {pending}')

    message_ids = [message_id for message_id, consumer, idle_time, delivery_count in pending]
    print(f'claiming: {message_ids}')
    await conn.xclaim(STREAM, GROUP, 'new-consumer', 1, *message_ids)

if __name__ == '__main__':
    asyncio.run(main())

Results:
messages: [(b'1fb48fc917ab9bb0', b'1569011272493-0', OrderedDict([(b'x', b'0')])), (b'1fb48fc917ab9bb0', b'1569011272494-0', OrderedDict([(b'x', b'1')])), (b'1fb48fc917ab9bb0', b'1569011272494-1', OrderedDict([(b'x', b'2')]))]
pending: [[b'1569011272493-0', b'myconsumer', 154, 1], [b'1569011272494-0', b'myconsumer', 154, 1], [b'1569011272494-1', b'myconsumer', 154, 1]]
claiming: [b'1569011272493-0', b'1569011272494-0', b'1569011272494-1']
Traceback (most recent call last):
  File "demo.py", line 33, in <module>
    asyncio.run(main())
  File "/nix/store/96p42644i76jqgdkxjgyl3f0c8n8k16j-python3-3.7.4/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/nix/store/96p42644i76jqgdkxjgyl3f0c8n8k16j-python3-3.7.4/lib/python3.7/asyncio/base_events.py", line 579, in run_until_complete
    return future.result()
  File "demo.py", line 29, in main
    await conn.xclaim(STREAM, GROUP, 'new-consumer', 1, *message_ids)
  File "/home/zack/.venv/lib/python3.7/site-packages/aioredis/util.py", line 58, in wait_convert
    return type_(result, **kwargs)
  File "/home/zack/.venv/lib/python3.7/site-packages/aioredis/commands/streams.py", line 36, in parse_messages
    return [(mid, fields_to_dict(values)) for mid, values in messages]
  File "/home/zack/.venv/lib/python3.7/site-packages/aioredis/commands/streams.py", line 36, in <listcomp>
    return [(mid, fields_to_dict(values)) for mid, values in messages]
TypeError: cannot unpack non-iterable NoneType object

Expected results:
I think this should return a (message_id, None) tuple for each of the messages this occurs with, and then I can special-case that None response to indicate that message no longer exists, and proceed with the rest of the process of cleaning up after that consumer.
Environment (though I don't think it matters for this) is Python 3.7.4, aioredis 1.2.0, hiredis 1.0.0, and Redis 5.0.4.

Resolved by #605. Released v1.3.0


About websockets

Can you lighten me up with few words how do I actually can use websockets from mobile side for example android.
I only need to know about for instance, whats the actual "api" address for websocket protocol and is it ws:// schema starting. I'm new to websocket and I don't want to know all by asking, I'm going to do my own research.
Web client example seems pretty clear to me but it's socket.io at your image. Socket.io is similar to websockets or completely different method?
Thanks for awesome server platform!

@terhoraj you can check this project for the java websocket library: https://github.com/koush/AndroidAsync
Obj-C websocket library:
https://github.com/facebook/SocketRocket
C# websocket client library:
https://github.com/sta/websocket-sharp

I have now tried AndroidAsync library websocket part with tons of differently formed url:s the the server and last result was handshake error. No luck. Web GUI works as far as login so I believe that side is fine.

Does anyone reading this have solved this websocket side for example mobile side since when I look at the code I don't even see implementation for websocket's.

I find a better C# library for socket.io:
https://github.com/Quobject/SocketIoClientDotNet

Using nuget to add the .NET library to your C# project
nuget SocketIoClientDotNet

Then write C# code to connect and send request to casino server.
using System;
using Quobject.SocketIoClientDotNet.Client;

namespace iotest
{
  class MainClass
  {
    public static void Main(string[] args)
    {
      Console.WriteLine("Hello World!");

      var socket = IO.Socket("http://<IP_ADDRESS>:7000");
      socket.On(Socket.EVENT_CONNECT, () =>
      {
        Console.WriteLine("Connected.");
        socket.Emit("hello");
      });

      socket.On("notify", (data) =>
      {
        Console.WriteLine(data);
      });

      socket.On("rpc_ret", (data) =>
      {
        Console.WriteLine(data);
      });

      while (true)
      {
        string str = Console.ReadLine();
        if (str == "quit") break;
        else socket.Emit("rpc", str);
      }

      socket.Disconnect();
    }
  }
}

Run test, console output:
iMac:Debug liming$ mono test.exe
Hello World!
Connected.
{
  "uid": null,
  "e": "prompt",
  "args": {
    "fastsignup": true,
    "signup": {
      "uid": "text",
      "passwd": "text",
      "name": "text",
      "email": "email",
      "phone": "text",
      "uuid": "text"
    },
    "login": {
      "uid": "text",
      "passwd": "text"
    }
  }
}
login
{
  "err": 400,
  "ret": "invalid rpc req"
}

Update:
I've ported SocketIoClientForNet to Unity.
See it here: https://github.com/floatinghotpot/socket.io-unity


[stdlib] Fixed image inspection for Win32

Removed calling FreeLibrary().
See GetModuleHandle function in MSDN.

@swift-ci Please smoke test

@swift-ci please smoke test

Relevant snip:

The GetModuleHandle function returns a handle to a mapped module without incrementing its reference count. However, if this handle is passed to the FreeLibrary function, the reference count of the mapped module will be decremented. Therefore, do not pass a handle returned by GetModuleHandle to the FreeLibrary function. Doing so can cause a DLL module to be unmapped prematurely.

- https://msdn.microsoft.com/en-us/library/windows/desktop/ms683199(v=vs.85).aspx)

Good catch.


Can this project be used to migrate existing libfuse project?

As LDP_FUSE overrides at the library level, you would need to rewrite your FUSE functions to suit that API. If the existing FUSE fs is written with the high-level interface (as most are), this might not be too hard.
Do note that this project is mostly a proof-of-concept -- It is not close to having full functionality like FUSE does (see also)
It is also not feasible for FUSE filesystems that don't have a backing regular file system. LDP_FUSE does not yet apply interprocess r/w locks to files when opened and still relies on a regular file system for that.
I'll update the README with this info.


Add ability to add custom selectors to pdbs and deploys

Please provide a description of this PR:
It is possible within the gateway helm chart to customize the set of labels applied to pods via the deploy object, but it is not possible to customize the selector labels for the pdb and deploy objects.  This change adds an ability to add additional selector labels to the pdb and deploy objects.

Hi @dblackdblack. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

I don't see a field selectorLabels in values.yaml:
https://github.com/istio/istio/blob/master/manifests/charts/gateway/values.yaml
I'm doing an in place upgrade from istio 1.16 => 1.19.  The labels on the
gateway pods for both v1.16 and v1.19 share the labels
app=istioingressgateway and istio=ingresgatewayexternal.  They
additionally have istio.io/rev=default (for 1.16) and  istio.io/rev=1-19-9 (for v1.19).
We manage the k8s service object for gateways outside of helm so that we
can tweak its selector labels easily.
During cutover from 1.16 => 1.19, we will have only the app and istio
selectors on the service (we will omit istio.io/rev), which will match
both v1.16 and v1.19 pods for 50/50 traffic split.
When we're done testing, we'll add the label istio.io/rev=1-19-0 to the
service selector to target just v1.19.
Regardless, we need the pdb and the deploy objects to have the istio.io/rev
selector the whole time.

selectorLabels is derived from a subset of the labels. Selectors are immutable in K8s deployment so they are intentionally not directly configurable.
I would have expected the new revisions had a different app/istio label. If that is not the case we may need to rethink things.
selectorLabels is defined in _helpers.tpl

I manually set the value for the app label from 1.19 to match the value
from 1.16 (istio-ingressinternal).  That is so that I can do the traffic
cutover from one istio version to another by selecting for labels (in the
service object) that are the same between the two versions (the app and
istio labels) and then when I'm done, I add the istio.io/rev=1-19-0
selector on the service object.  i.e. it is important that for that use
case both the istio and the app label do not change between versions,
but that only the istio.io/rev label does.  I therefore need a way to
target istio.io/rev in the various object types (pdbs and deploys) beyond
what would normally be targeted by the service.

The general idea is for version upgrades to make the service selector less
specific and target both the old and new versions of istio in order to gain
confidence.  Then add the version specific istio.io/rev
http://istio.io/rev selector when we have confidence.  In order for this
to work, of course, the other labels need to be identical, which is what
I've accomplished by setting the value of the app label to not contain
version information.

The general idea is for version upgrades to make the service selector less
specific and target both the old and new versions of istio in order to gain
confidence.  Then add the version specific istio.io/rev
selector when we have confidence in the new version.  In order for this
to work, of course, the other labels need to be identical, which is what
I've accomplished by setting the value of the app label to not contain
version information.
Basically we want only istio.io/rev to be different between the old and new versions of istio.  We want app and istio labels to be static so that it is possible to target both the old and new versions with a single set of selectors.  When we're ready to pin to a version, we'll then add istio.io/rev as a selector.

ping @howardjohn.  It would be great to support these additional helm fields.


Assembling - Which environment?

I'm new to the Microchip IDE, so I have a bit of a learning curve. I downloaded the latest IDE, which used PIC-AS, but that gave errors, and the format apparently changed. I installed MPLAB 8.92, but I still get assembly errors, including the most important one: Cannot open file (Include File "p12lf1571.inc" not found). The MPLAB IDE doesn't have an option for the 1571, so which environment should I use to assemble?

PIC-AS will not work, as it does not support many of the features of MPASM.
My suggestion is to install a version of MPLABX prior to 5.40, when they dropped support for MPASM. Here is a link to their version archives
I still have MPLABX 5.25 installed here as well as the latest. Creating a new project in 5.25 with the PIC12LF1571 as a target, then adding the assembly file as an "existing file" worked. I also needed to modify the fill line (99) to:
fill      (reset), 0x0400-$-2
I may eventually get around to porting the assembly code to C, as the latest free xc8 compiler seems able to generate the tight loops required, but I don't have time to do it at the moment.
Please also complain to Microchip. It's completely unacceptable that their latest toolchains do not compile legacy code, especially for a company that prides itself on the longevity of their PIC products.

PIC-AS will not work, as it does not support many of the features of MPASM.
My suggestion is to install a version of MPLABX prior to 5.40, when they dropped support for MPASM. Here is a link to their version archives
I still have MPLABX 5.25 installed here as well as the latest. Creating a new project in 5.25 with the PIC12LF1571 as a target, then adding the assembly file as an "existing file" worked. I also needed to modify the fill line (99) to:
fill      (reset), 0x0400-$-2
I may eventually get around to porting the assembly code to C, as the latest free xc8 compiler seems able to generate the tight loops required, but I don't have time to do it at the moment.
Please also complain to Microchip. It's completely unacceptable that their latest toolchains do not compile legacy code, especially for a company that prides itself on the longevity of their PIC products.


Owls 91273 - Create network access points for kubectl port-forward and console access

The notes containing use-cases and configurations for OWLS-91273 are listed in this wiki - https://confluence.oraclecorp.com/confluence/display/ASDevWLS/OWLS-91273+-+Solution+for+kubectl+port-forward+and+console+access+notes .
I have tested various combinations using kubectl port-forwarding to access the admin console and connecting to the admin server using WLST.
Integration test results are at - https://build.weblogick8s.org:8443/job/weblogic-kubernetes-operator-kind-new/6032/

Two general questions:

If you have a domain running with operator 3.3.0 and then upgrade to your branch, do servers restart? Is the console accessible using port-forward? I'm guessing that the answer is mixed... For instance, for MII, I think that introspection will no-op because there has been no change in the model, etc., and so servers will not restart, but also that the port-forwarding won't be available until there is a domain restart or reason for introspection to rerun. For DII and DPV, introspection will eventually run, situational configuration will be updated and then port forwarding should work without a restart.

How does your flag interact with Istio support being enabled?

General comment: I've started a private slack thread amongst the reviewers to discuss if we want to default to the new setting, the setting's name/location, and other issues.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8d6ab60) 95.69% compared to head (05ac3d7) 95.69%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #851   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       53       53
=======================================
  Hits          378      378
  Misses         17       17

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


Added variable at the place of hard coded number in decoder.

refs#56

Can you see if you can find a public sample data product that we can add to the tests that exercises this change.

Ask @pbvarga1 he might be able to help.

Sure, I will find and add test for public sample data product for this PR.


Fix for description in infnoise_dev_node; write struct directly

Looks good to me. Never seen a 129 byte device description...


Gracefully handle properties with no setters

My datatypes sometimes have properties that calculate based on other properties for convenience.
While this is no problem on the serialization side of things. Reading such a compound type throws an exception because no setter can be found for the property.
My expectation would be that the missing setter is gracefully ignored.

Potentially related to https://github.com/Apollo3zehn/PureHDF/issues/117


[Bug] Project ->Add New->Practical ssh failed to connect to the Repository

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
SSH failed to connect to the Repository
Http is OK

Local ssh can connect

streampark-console error
StreamPark Version
Version:2.0.0
Java Version
jdk1.8
Flink Version
1.15
Scala Version of Flink
2.12
Error Exception
Caused by: org.eclipse.jgit.errors.TransportException<EMAIL_ADDRESS>remote hung up unexpectedly
	at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:313)
	at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:153)
	at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:167)
	... 101 common frames omitted
Caused by: java.lang.NullPointerException: null
	at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:107)
	at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:281)
	... 103 common frames omitted

Screenshots

Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

+1 I have the same problem


Release 1.28

Version 1.28 (September 09, 2016)
-----------------------------------

* test against python 3.5 (5d35284)
* sort params and make them work on py3 (78374b9)
* adds a nicer __repr__ (8571d87)
* Add missing space (464259d)
* Properly handle HTTP Proxy authentication with Python 3 (d015154)
* Fix small typo (987bca0)
* push to 'origin' instead of 'github' (d640666)

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


CLwB compiler wrapper script can't be executed on Windows

The blaze_compiler.sh compiler wrapper script fails to execute on Windows, causing an Issues collecting info from C++ compiler warning while syncing and breaking resolution of system and dependency headers in CLion. An easy workaround is to simply disable the wrapper script on Windows: https://github.com/mwerschy/intellij/commit/c6028fab90f6767e3c9836346b1d56c52c26876b. A better solution would be to make the wrapper script work on Windows. MSYS2 is required already so it isn't necessary to port it, just adjust the call site to not try executing it directly. If you're interested in improving Windows support I can take a look at implementing this. I don't need it for my use-case at the moment and since Windows is still officially unsupported I'm not sure a pull request would be accepted.
On another note, the CLwB build fails on Windows with InvalidPathException: Illegal char <*> at index 65: [...]\external\clion_2019_2\clion-*. This can be fixed by simply using glob to resolve the wildcard: https://github.com/mwerschy/intellij/commit/ad96a6a16d023513809a1dc730feae87b74a147c. It probably shouldn't work on other systems either or at least show a more user-friendly error.

Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so.


Which training config file should I choose for training the qwen2-vl-2b to reproduce the colqwen2-v1.0?

There are 5 training config files about colqwen2. I wondering which file should I choose for training the qwen2-vl-2b to reproduce the colqwen2-v1.0?

Have you reached a conclusion?
I tried to replicate v1.0 with "train_colqwen2_model.yaml", the scores were different.

Thanks for your reply. I still have some confusion.
I want to confirm how to set the batch size to 256.
when I try  per_device_train_batch_size: 256, I got out of memory even if I use 80GB gpu.
I notice there is a comment 6 x 8 gpus = 48 batch size
so I should set  per_device_train_batch_size: 32?
the  per_device_eval_batch_size: 8 remain unchanged ?
tr_args:
(): transformers.training_args.TrainingArguments
output_dir: null
overwrite_output_dir: true
num_train_epochs: 5
per_device_train_batch_size: 64
gradient_checkpointing: true
gradient_checkpointing_kwargs: { "use_reentrant": false }
# gradient_checkpointing: true
# 6 x 8 gpus = 48 batch size
# gradient_accumulation_steps: 4
per_device_eval_batch_size: 8
eval_strategy: "steps"
dataloader_num_workers: 8
# bf16: true
save_steps: 500
logging_steps: 10
eval_steps: 100
warmup_steps: 100
learning_rate: 5e-4
save_total_limit: 1


BUG: BigDecimal.Truncate should not call BigDecimal.Floor

Description
The implementation mistakenly assumes and claims truncation is the same as flooring (rounding down). However, there is a difference if the number is negative.
Expected Behavior
Negative numbers are truncated.
Actual Behavior
Negative numbers are rounded down.
Steps To Reproduce
Console.WriteLine(BigDecimal.Truncate(new BigDecimal(-15.5))); // -16 (should be -15)
Console.WriteLine(BigDecimal.Floor(new BigDecimal(-15.5))); // -16

Console.WriteLine(Math.Truncate(-15.5)); // -15
Console.WriteLine(Math.Floor(-15.5)); // -16

Additional context/Comments/Notes/Rants
Both of these could have instance methods.

Good catch. Thanks for bringing this to my attention.
I have fixed this, and this fix is included in NuGet package version 2025.1003.0.225 or just pull the latest changes from the main branch.


[Fabric] config not respected?

Fabric Version 0.11.5 I tried to blacklist ores in the config, but without success. Adding Ores is also currently not possible. I tried to add quartz ore. Did I do something wrong?
commonConfig {
    "blacklist_bios"=[]
    "blacklist_bios_mod"=[
        botania
    ]
    "blacklist_loot"=[]
    "blacklist_loot_mod"=[]
    "blacklist_mobs"=[]
    "blacklist_mobs_mod"=[]
    "blacklist_ores"=[
	[
            "modern_industrialization",
            "copper_ore"
        ],
	[
            "modern_industrialization",
            "tin_ore"
        ],
	[
            "modern_industrialization",
            "salt_ore"
        ],
	[
            modern_industrialization",
            "silver_ore"
        ],
	[
            "modern_industrialization",
            "lead_ore"
        ]
    ]
    "blacklist_ores_mod"=[]
    "blacklist_soils"=[]
    "blacklist_soils_mod"=[]
    "blacklist_stones"=[]
    "blacklist_stones_mod"=[]
    "block_hardness"=5
    "block_resistance"=6
    "custom_bio_tags"=[
        [
            c,
            veggies
        ],
        [
            c,
            vegetables
        ],
        [
            c,
            leather
        ],
        [
            c,
            feathers
        ],
        [
            c,
            seeds
        ],
        [
            c,
            dyes
        ],
        [
            c,
            bones
        ],
        [
            c,
            "wooden_rods"
        ],
        [
            minecraft,
            "small_flowers"
        ],
        [
            minecraft,
            logs
        ],
        [
            minecraft,
            planks
        ],
        [
            minecraft,
            saplings
        ],
        [
            minecraft,
            leaves
        ]
    ]
    "custom_bios"=[]
    "custom_loot_tables"=[
        [
            minecraft,
            "chests/simple_dungeon"
        ]
    ]
    "custom_mob_drops"=[
        [
            [
                minecraft,
                "ender_dragon"
            ],
            [
                minecraft,
                elytra
            ]
        ],
        [
            [
                minecraft,
                "ender_dragon"
            ],
            [
                minecraft,
                "dragon_head"
            ]
        ],
        [
            [
                minecraft,
                "ender_dragon"
            ],
            [
                minecraft,
                "dragon_egg"
            ]
        ],
        [
            [
                minecraft,
                "ender_dragon"
            ],
            [
                minecraft,
                "dragon_breath"
            ]
        ]
    ]
    "custom_ore_tags"=[
        [
            c,
            ores
        ],
        [
            minecraft,
            "nether_quartz_ore"
        ]
    ]
    "custom_ores"=[
        [
            appliedenergistics2,
            "quartz_ore"
        ],
        [
            appliedenergistics2,
            "charged_quartz_ore"
        ],
        [
            rftoolsbase,
            "dimensionalshard_overworld"
        ],
        [
            rftoolsbase,
            "dimensionalshard_nether"
        ],
        [
            rftoolsbase,
            "dimensionalshard_end"
        ],
        [
            rhodonite,
            "block_ore_fluorite"
        ],
        [
            rhodonite,
            "block_ore_rhodonite"
        ],
        [
            "exp_ore",
            "block_exp_ore"
        ],
        [
            rockcandy,
            "candy_ore"
        ],
        [
            lightestlamp,
            "boron_ore"
        ],
        [
            funores,
            "zombie_ore"
        ],
        [
            funores,
            "blaze_ore"
        ],
        [
            funores,
            "ghast_ore"
        ],
        [
            funores,
            "magma_cube_ore"
        ],
        [
            funores,
            "wither_skeleton_ore"
        ],
        [
            funores,
            "zombie_pigman_ore"
        ],
        [
            funores,
            "salmon_ore"
        ],
        [
            funores,
            "squid_ore"
        ],
        [
            funores,
            "cod_ore"
        ],
        [
            funores,
            "sheep_ore"
        ],
        [
            funores,
            "rabbit_ore"
        ],
        [
            funores,
            "pig_ore"
        ],
        [
            funores,
            "cow_ore"
        ],
        [
            funores,
            "chicken_ore"
        ],
        [
            funores,
            "bat_ore"
        ],
        [
            funores,
            "witch_ore"
        ],
        [
            funores,
            "spider_ore"
        ],
        [
            funores,
            "slime_ore"
        ],
        [
            funores,
            "phantom_ore"
        ],
        [
            funores,
            "skeleton_ore"
        ],
        [
            funores,
            "enderman_ore"
        ],
        [
            funores,
            "guardian_ore"
        ],
        [
            funores,
            "pufferfish_ore"
        ],
        [
            funores,
            "creeper_ore"
        ],
        [
            gobber2,
            "gobber2_ore"
        ],
        [
            gobber2,
            "gobber2_ore_nether"
        ],
        [
            gobber2,
            "gobber2_ore_end"
        ]
    ]
    "custom_soil_tags"=[
        [
            c,
            dirt
        ],
        [
            c,
            sand
        ],
        [
            c,
            gravel
        ]
    ]
    "custom_soils"=[
        [
            minecraft,
            clay
        ]
    ]
    "custom_stone_tags"=[
        [
            c,
            cobblestone
        ],
        [
            c,
            sandstone
        ],
        [
            c,
            "end_stones"
        ],
        [
            c,
            netherrack
        ]
    ]
    "custom_stones"=[]
    "dimensional_applicator_amplifier"=1
    "dimensional_applicator_capacity_multiplier"=100
    "dimensional_applicator_divisor"=10.0
    "dimensional_applicator_duration"=220
    "dimensional_applicator_is_beacon_effect"=true
    "dimensional_applicator_price"=1000.0
    "dimensional_applicator_show_icon"=false
    "dimensional_applicator_show_particles"=false
    "enable_bio_harvesters"=true
    "enable_chunk_loader"=true
    "enable_dark_mob_harvester"=true
    "enable_dimensional_applicator"=true
    "enable_heat_generator"=true
    "enable_ore_harvesters"=true
    "enable_soil_harvesters"=true
    "enable_specific_mob_harvester"=true
    "enable_stone_harvesters"=true
    "harvester_capacity_multiplier"=100
    "harvester_shard_chance"=75
    "heat_generator_capacity_multiplier"=100
    "key_break_speed_multiplier"=10
    "machine_light_level"=7
    "min_tier_bios"=[]
    "min_tier_ores"=[]
    "min_tier_soils"=[]
    "min_tier_stones"=[]
    "mob_harvester_mob_shard_chance"=25
    "price_bio_1"=400.0
    "price_bio_2"=600.0
    "price_bio_3"=1000.0
    "price_bio_4"=1500.0
    "price_bio_5"=4000.0
    "price_bio_6"=7000.0
    "price_bio_7"=7500.0
    "price_bio_8"=8000.0
    "price_dark_mob"=8000.0
    "price_loot"=8000.0
    "price_ore_1"=400.0
    "price_ore_2"=600.0
    "price_ore_3"=1000.0
    "price_ore_4"=1500.0
    "price_ore_5"=4000.0
    "price_ore_6"=7000.0
    "price_ore_7"=7500.0
    "price_ore_8"=8000.0
    "price_soil_1"=400.0
    "price_soil_2"=600.0
    "price_soil_3"=1000.0
    "price_soil_4"=1500.0
    "price_soil_5"=4000.0
    "price_soil_6"=7000.0
    "price_soil_7"=7500.0
    "price_soil_8"=8000.0
    "price_specific_mob"=8000.0
    "price_stone_1"=400.0
    "price_stone_2"=600.0
    "price_stone_3"=1000.0
    "price_stone_4"=1500.0
    "price_stone_5"=4000.0
    "price_stone_6"=7000.0
    "price_stone_7"=7500.0
    "price_stone_8"=8000.0
    "speed_bio_1"=400
    "speed_bio_2"=350
    "speed_bio_3"=300
    "speed_bio_4"=250
    "speed_bio_5"=200
    "speed_bio_6"=150
    "speed_bio_7"=100
    "speed_bio_8"=5
    "speed_dark_mob"=50
    "speed_heat_generator"=3
    "speed_loot"=50
    "speed_ore_1"=400
    "speed_ore_2"=350
    "speed_ore_3"=300
    "speed_ore_4"=250
    "speed_ore_5"=200
    "speed_ore_6"=150
    "speed_ore_7"=100
    "speed_ore_8"=5
    "speed_soil_1"=400
    "speed_soil_2"=350
    "speed_soil_3"=300
    "speed_soil_4"=250
    "speed_soil_5"=200
    "speed_soil_6"=150
    "speed_soil_7"=100
    "speed_soil_8"=5
    "speed_specific_mob"=50
    "speed_stone_1"=400
    "speed_stone_2"=350
    "speed_stone_3"=300
    "speed_stone_4"=250
    "speed_stone_5"=200
    "speed_stone_6"=150
    "speed_stone_7"=100
    "speed_stone_8"=5
}

using the resource disabler key does not work too.

It seems to be the same issue with the Mob Key, just with the registry names and translation keys of items instead of entities. I've used the search in folder tool to (hopefully :) fix all occurrences that aren't actually supposed to be getting the translation key (such as using the name in a message). I'll release a fix in 0.11.6. Still trying to figure out the mob harvester, though.

Done!


Question about AndroidHttpClient

Hi,
Thank you for maintaining this project.
I noticed that AndroidHttpClient also has been removed in Android API 23.
I looked at the source code of AndroidHttpClient and found that the class depends on HttpClient.
I am wondering if this project has a corresponding version of AndroidHttpClient. If not, I probably need to create one myself.
Please advise.

Hi, sorry I missed your question, no this project does not package any class named AndroidHttpClient, and class which can be kind-of replacement for it, DefaultHttpClient, is deprecated.
However I don't think AndroidHttpClient is needed, because stock HttpClient (from CloseableHttpClient, HttpClientBuilder) works on Android really without issues, if you don't intend to support from API 8 to API 23, which is really hard using HttpClient, and in that case I recommend you to proceed with HttpURLConnection libraries such as OkHttp, Volley, etc...
If you have further questions, simply reply to this thread, however I'm closing it, because there is no need to package AndroidHttpClient with this project


Fix refactoring domain schema

:tada: This PR is included in version 6.98.0 :tada:
The release is available on:

v6.98.0
GitHub release

Your semantic-release bot :package::rocket:


Defender for Cloud Defender for Container

Please include the response to query :
Does this product do the kernel level logs are scanned by Defender for Cloud for PaaS offerings?
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 9665ed65-3629-26e1-dc04-12f916149fde
Version Independent ID: d174cc2f-70e6-c6cc-7ec6-b86b49fd2044
Content: Common questions - Defender for Containers - Microsoft Defender for Cloud
Content Source: articles/defender-for-cloud/faq-defender-for-containers.yml
Service: defender-for-cloud
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

@joydeepdutt
Thanks for your feedback! We will investigate and update as appropriate.

@dcurwin
Can you please check and add your comments on this doc update request as applicable.

@joydeepdutt
I'm going to assign this to the document author so they can take a look at it accordingly

#reassign:dcurwin

@joydeepdutt - I asked the product group about this issue and they had some follow up questions:
Which PaaS offering does the question relate to?
Are you asking if we are scanning kernel level logs for threat detection then the answer is no. If the question is different, then we need to understand what the question is?

@joydeepdutt - The product team has told me that Azure container instances aren't supported. Does that answer your question?

We haven't heard back from you, so we will now close this issue. If this remains an issue, please reply and we will gladly continue the discussion.
#please-close

Defender for Containers is product is available.  Query is : i "Does defender scan the containers/Kubernetes kernel levels logs also, -  Whatever is response - can we please explicitly add this line in FAQ sections of defender for cloud.

The product team has told me that this is not slated to be documented. They recommend you reach out to your account team with your requirement, and they can follow up with the product team if necessary.


Fixes #29082 -- Encodes JSON appropriately in the test Client.

https://code.djangoproject.com/ticket/29082
(continued from https://github.com/django/django/pull/9636)

Hmmm. Now there's an isort failure (which looks totally unrelated...). Coffee first.

@carltongibson I created separate PR #9649 to fix imports per isort 4.3.0.

Sorry about the delete yesterday :disappointed:, long day for me that one and things weren't going well, probably should have left it for the morning.
I squashed the commits, mainly to prove to myself I can use git.

@NDevox No problem. It happens. 🙂
Looking at it, I think your issue probably arose from not fetching the latest updates and rebasing on that. (This morning I realised this branch too wasn't up to date and needed to rebase.) If you're careful about that it usually goes smoothly...
OK. I merged in the isort fix. This should be good to go...

@carltongibson removed the irrelevant docstring/comment changes and am happy to merge.

OK. Thanks @NDevox!

@felixxm @carltongibson All ready now.
Anything more?

@timgraham looks fine to me.
Want me to squash or happy as is?


Add pagination to all pages that need it

[x] Games
[x] Engines
[x] Games list in Engines
[x] Platforms
[x] Games list in Platform
[x] Genres
[x] Games list in Genre
[x] Stores
[x] Companies
[x] Games list in Company
[x] SeriesList
[x] Games list in Series
[x] ActivityFeed
[x] UserActivity
[x] UserFavorites
[x] UserFollowers
[x] UserFollowing
[x] Users
[x] SiteStatistics
[x] SteamBlocklist
[x] WikidataBlocklist

Finished with b4acb8b1999a9d99167cf78d309ab5999e886dc8


Opensearch failed when repo list contains two opensearch entries

The playbook setup-component-pack-complete-harbor.yml failed during the opensearch deployment with the following output:
TASK [component-pack-harbor : Found opensearch chart version] ***************************************************************************************************************
ok: [k8.server.local] => {
    "msg": "2.7.0-20230921-162215\n2.7.0-20231006-050009"
}

TASK [component-pack-harbor : Record opensearch chart version] **************************************************************************************************************
skipping: [k8.server.local]

TASK [component-pack-harbor : Upgrade opensearch master] ********************************************************************************************************************
fatal: [k8.server.local]: FAILED! => {"changed": true, "cmd": ["helm", "upgrade", "opensearch-master", "v-connections-helm/opensearch", "-i", "--version", "2.7.0-20230921-162215", "2.7.0-20231006-050009", "-f", "/home/myuser/generated_charts/opensearch_master.yml", "--namespace", "connections", "--set", "common.probe.readinessProbe.timeoutSeconds=60", "--wait", "--timeout", "10m"], "delta": "0:00:00.041915", "end": "2023-10-27 14:43:58.855036", "msg": "non-zero return code", "rc": 1, "start": "2023-10-27 14:43:58.813121", "stderr": "Error: \"helm upgrade\" requires 2 arguments\n\nUsage:  helm upgrade [RELEASE] [CHART] [flags]", "stderr_lines": ["Error: \"helm upgrade\" requires 2 arguments", "", "Usage:  helm upgrade [RELEASE] [CHART] [flags]"], "stdout": "", "stdout_lines": []}

In our Component pack deployment the heml_repo_version_list looks as follows:
/home/myuser/generated_charts/helm_repo_version_list
NAME:CHART
v-connections-helm/bootstrap:0.1.0-20230918-122633
v-connections-helm/connections-env:0.1.40-20230918-122724
v-connections-helm/connections-outlook-desktop:0.1.0-20230918-122643
v-connections-helm/connections-persistent-stora...:0.1.1-20230921-155536
v-connections-helm/huddo-boards-cp:1.1.0-20230124-212221
v-connections-helm/huddo-boards-cp-activity-mig...:1.1.0-20230124-212221
v-connections-helm/infrastructure:0.1.0-20231006-050011
v-connections-helm/k8s-psp:0.1.0-20210909-112534
v-connections-helm/kudos-boards-cp:3.1.1-20221010-011453
v-connections-helm/kudos-boards-cp-activity-mig...:3.1.0-20221010-011453
v-connections-helm/mw-proxy:0.1.0-20230918-122709
v-connections-helm/opensearch:2.7.0-20230921-162215
v-connections-helm/opensearchstack:2.7.0-20231006-050009
v-connections-helm/orientme:0.1.0-20231006-050009
v-connections-helm/tailored-exp:1.0.0-20231006-050009
v-connections-helm/teams:1.0.0-20231006-050009

The following shell script returns both values for opensearch and opensearchstack "2.7.0-20230921-162215\n2.7.0-20231006-050009", why the playbook stops.
https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/f23269a34de6c3233941cc1d76b3e395fcfeb899/roles/hcl/component-pack-harbor/tasks/setup_opensearch.yml#L50-L53
In my opinion the shell script should be modified as follows:
shell:                     "cat {{ __ansible_cache_charts }}/helm_repo_version_list | grep "opensearch:" | grep -vE \"opensearch-\" | grep -vE opensearchstack | cut -d ':' -f2"

Hi @marde16, adding the :  would work but just wondering if there is more going on here.  The existing command seems to work using the sample helm_repo_version_list:
[myuser@mymachine ~]$ cat test.txt
NAME:CHART
v-connections-helm/bootstrap:0.1.0-20230918-122633
v-connections-helm/connections-env:0.1.40-20230918-122724
v-connections-helm/connections-outlook-desktop:0.1.0-20230918-122643
v-connections-helm/connections-persistent-stora...:0.1.1-20230921-155536
v-connections-helm/huddo-boards-cp:1.1.0-20230124-212221
v-connections-helm/huddo-boards-cp-activity-mig...:1.1.0-20230124-212221
v-connections-helm/infrastructure:0.1.0-20231006-050011
v-connections-helm/k8s-psp:0.1.0-20210909-112534
v-connections-helm/kudos-boards-cp:3.1.1-20221010-011453
v-connections-helm/kudos-boards-cp-activity-mig...:3.1.0-20221010-011453
v-connections-helm/mw-proxy:0.1.0-20230918-122709
v-connections-helm/opensearch:2.7.0-20230921-162215
v-connections-helm/opensearchstack:2.7.0-20231006-050009
v-connections-helm/orientme:0.1.0-20231006-050009
v-connections-helm/tailored-exp:1.0.0-20231006-050009
v-connections-helm/teams:1.0.0-20231006-050009
[myuser@mymachine ~]$
[myuser@mymachine ~]$ cat test.txt | grep opensearch | grep -vE "opensearch-" | grep -vE opensearchstack | cut -d ':' -f2
2.7.0-20230921-162215

By any chance there are more than 1 opensearch entries in your full helm_repo_version_list ?

I checked my CR4 deployment:
[ansible@cnx7-ora-cp generated_charts]$ cat helm_repo_version_list
v-connections-helm/bootstrap:0.1.0-20230918-122633
v-connections-helm/connections-env:0.1.40-20230918-122724
v-connections-helm/connections-outlook-desktop:0.1.0-20230918-122643
v-connections-helm/connections-persistent-stora...:0.1.1-20230921-155536
v-connections-helm/huddo-boards-cp:1.1.0-20230124-212221
v-connections-helm/huddo-boards-cp-activity-mig...:1.1.0-20230124-212221
v-connections-helm/infrastructure:0.1.0-20231006-050011
v-connections-helm/k8s-psp:0.1.0-20210909-112534
v-connections-helm/kudos-boards-cp:3.1.1-20221010-011453
v-connections-helm/kudos-boards-cp-activity-mig...:3.1.0-20221010-011453
v-connections-helm/mw-proxy:0.1.0-20230918-122709
v-connections-helm/opensearch:2.7.0-20230921-162215
v-connections-helm/opensearchstack:2.7.0-20231006-050009
v-connections-helm/orientme:0.1.0-20231006-050009
v-connections-helm/tailored-exp:1.0.0-20231006-050009
v-connections-helm/teams:1.0.0-20231006-050009
[ansible@cnx7-ora-cp generated_charts]$ cat helm_repo_version_list | grep opensearch | grep -vE \"opensearch-\" | grep -vE opensearchstack | cut -d ':' -f2
2.7.0-20230921-162215

So it returns the opensearch version stamp.
grep -v removes matching strings, so when there is opensearch- or opensearchstack, these do not show up.
The : would be better, because the other two greps can  be removed.:
cat helm_repo_version_list | grep opensearch: | cut -d ':' -f2
2.7.0-20230921-162215

Agreed, we can change it to : in the next push, but wanted to make sure there isn't another issue that caused the original grep to produce unexpected results.

One more thing @sabrina-yee , the helm_repo_version_list has 3 images with abbreviations of ... in the end
v-connections-helm/connections-persistent-stora...:0.1.1-20230921-155536
v-connections-helm/huddo-boards-cp-activity-mig...:1.1.0-20230124-212221
v-connections-helm/kudos-boards-cp-activity-mig...:3.1.0-20221010-011453

So Huddo/Kudos will not use it, when Quay.io is configured, but I think the connections-persistent-storage could fail.

:) yes, we've seen it before so shorten the name.  Hopefully these issue will all go away once we switch to using OCI (soon).

Hi @sabrina-yee ,
I further analyzed my issue. The Ansible playbooks are based on 8CR2 version. Therefore the shell script differs between 8CR2 and the current version to get the opensearch version.
8CR2 version
- name:                      Get chart and version
  shell:                     "helm search repo {{ __helm_repository_local_name }} {{ __helm_repo_flag }} | grep opensearch | grep -vE \"opensearch-\" | awk {'print $2'}"
  register:                  opensearch_chart_version
  become_user:               "{{ __sudo_user }}"

since version 8CR3 version July 2023 cnx8 CR3 release
https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/f23269a34de6c3233941cc1d76b3e395fcfeb899/roles/hcl/component-pack-harbor/tasks/setup_opensearch.yml#L50-L53
I have only two opensearch entries in my helm repo list:
v-connections-helm/opensearch:2.7.0-20230921-162215
v-connections-helm/opensearchstack:2.7.0-20231006-050009

So the grep parameters could be modified as @stoeps13 described.


feat: update input ports on different output selection

Description
Before the input of a downstream node wouldn't update if a different output from the upstream node was chosen. Now it updates properly. Also if the downstream node is connected to anything or has any outputs those are all invalidated
https://github.com/DARPA-ASKEM/terarium/assets/28237258/666f85cf-0dc4-4f11-af4d-4eba2312a977

found a weird bug
https://github.com/DARPA-ASKEM/terarium/assets/28237258/9bf67be5-4d87-4dec-a9c3-5bf989429863


Please port to Java forthwith

And upload to Maven Central.

Why wouldn't they? Surely they would understand over-engineering just as well as anyone.

A clean alternative may be to wrap the library using the microservice pattern.


⚠ Bofrost.at has degraded performance

In 201bdd9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1805 ms

Resolved: Bofrost.at performance has improved in 922cacc after 311 days, 6 hours, 32 minutes.


Changed make_patches to patches.make_patches

Minor fix to have make_patches method reference the patches module.  This bug wouldn't be noticed unless you are trying to use full analogy patch matching.

Thanks!

Thank YOU man, that program is really cool.  I used it for a project to
generate realistic looking photographs from sketches.  I liked being able
to use all the different synthesis algorithms.
On Thu, May 12, 2016 at 5:55 PM, Adam Wentz<EMAIL_ADDRESS>wrote:

Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/awentzonline/image-analogies/pull/26#issuecomment-218897531

I'd love to see whatever you've come up with if you feel like sharing. Email me (adam@adamwentz.com), twitter @awentzonline, or just post a link in this thread.


Asset upload not working

When trying to use the upload asset image uploader. On mac a pop-up opens but you can't see any images. On Windows you see the images in the popup list but when you try to upload it keeps loading.

After more investigation, it seems any upload (including app assets) doesn't work since last update


Feature Request: Capability to delete underlying objects when RootSync (or RepoSync) is deleted.

It will be nice if I can manage the entire lifecycle of kubernetes object through a RootSync object. Today, when I delete a RootSync object, the underlying objects (contained in the git repo specified in the RootSync) are not deleted which is a nice default behavior given that it can be disruptive. However, there are some use-cases where I would like the underlying objects to be deleted when the RootSync object that was managing them is deleted.
My current use-cases are primarily driven by tests/automation.
/cc @karlkfi @sdowell

I believe @karlkfi is working on this and I think it's merged: #242

The Deletion Propagation feature will be in v1.15.0. Use the configsync.gke.io/deletion-propagation-policy: Foreground annotation on a RootSync/RepoSync to enable it.


Allow shared servers to bind to <IP_ADDRESS> on guest machines

Currently, when servers are shared via Live Share, the shared server is listening on the loopback address (<IP_ADDRESS>) on the guest machine.
For example, when a host is sharing port 4001 via live share, guest machines will open a listener for port 4001 on the loopback address:
Guest Machine:
@GUEST -> ~ netstat -a -o | findstr 4001
  TCP    <IP_ADDRESS>:4001         DESKTOP:0              LISTENING       39064
  TCP    <IP_ADDRESS>:4001         secure:62814           ESTABLISHED     39064
  TCP    <IP_ADDRESS>:62814        secure:4001            ESTABLISHED     17884

This occurs even if the host is running the program on <IP_ADDRESS>:
@HOST -> ~ netstat -a -o | findstr 4001
  TCP    <IP_ADDRESS>:4001

Running on the loopback address introduces a limitation, namely being that guests are unable to connect to the shared server from a WSL2 distribution or other devices on their network.
My suggestion is that a setting is introduced for Live Share (both VS and VSCode) to allow guest to opt to enable shared servers to run on <IP_ADDRESS> or <IP_ADDRESS> on their machine. This would allow greater ease in developing apps that utilise both Windows and WSL2, as well as potential testing for other devices on the networks of guests'.
My specific use case is that a peer shares a server over (VS) Live Share and I am unable to connect to the shared server via WSL2. I have tested running servers on <IP_ADDRESS> and <IP_ADDRESS> on my windows machine, and the WSL2 distribution is only able to connect to servers running on <IP_ADDRESS> on the windows machine.
Product: VSCode (and VS)
OS Version: Windows

We’re not able to prioritize this issue over the other higher-impact issues we receive every week, based on the votes and comments from others in the community and our understanding of the issue. However, rest assured that we love your input. If you feel it deserves to stay open, then clarify your use case and contact us to let us know how severe it is for you.


Spelling

I can drop/split/collapse things w/in reason.
Most changes are to comments, some are to local variables, some are to output, a couple are to enums

Could someone kick the cla bot? This change falls under the cla exception. That said, if it had provided better instructions, I'm not opposed to signing...

You have to put "CLA: trivial" in your commit text.  (The latest commit only.)  And then the two people who review the code have to agree that it's trivial.
And all of these are going to be merged/squashed I expect.

I don't mind squashing. but I don't want to do it until everything is done. It's much easier to peel things out when they're separate, e.g. the widget fix is a single commit which I've moved to its own branch. If I did this all as a single commit, I'd have had to fish for all of the pieces and try to tease them apart.
I'm also not a huge fan of magic words in various places. For the time being, I'm going to ignore your bot. If I put the commit message in the last commit in my sequence, and that moves (which actually happened here), then I have to redo it. And if I were to take the approach of sprinkling it everywhere, then the squash step gets messier.

ok, everything that @kroeckx commented about has been split off.
Is everyone happy with the remainder?
Would I need to be the one to do the collapse, or can someone else? (If someone else does it, I presume they can also add the CLA: trivial.)

I have no problem with calling some trivial if it's just a few
spelling fixes. But the amount of fixes I see here is above what I
would call trivial, you clearly put a lot of effort in this.

It's actually pretty trivial, a script generates words, and then I look for the instances, and basically let Google Suggest the corrected spelling. It's fairly mindless actually.
But, I can go ahead and sign the CLA. I don't suppose you have a version that doesn't require me to use ink (my printer is running low...).

Do I need to do something forget to appease the bot for cla-check?

now that we have your CLA on file, it's automatic.  the first time, if you don't mark the commit trivial, it has to be manually removed.  so no, nothing for you to do.

The way to deal with "corrected" spelling errors in public header files is to put the correct spelling BEFORE the "begin error codes" label.  (Or put the bogus spelling before)  And define one to be the other.  I don't have a strong preference, but any changes you make must survive a "make update" :)

I've pushed cms to #3463

This needs re-base. But I'm also apposed to the idea of grouping commits by misspelled word. Just like with CMS it should rather be by file or group of files that have something in common, than bunch of unrelated files with similar spelling error...

@dot-asm: suggest a split. I can trivially resegment. It's much harder to handle merge conflicts after I do that...

I suggest we just turn this into 1 big commit once someone else reviewed it.

@FdaSilvaYY is correct.  Do not alter the wording of the SSLeay license.  If nothing else, this is the team's policy.

This is not trivial.  We will need you to sign our CLA.  Also, if the manpage edits were in a single separate commit, it would be easier to cherry-pick that to previous releases -- the code-internal changes are not required.

I submitted the CLA a while ago and you accepted it...
I can split out the man pages parts. I'll push an update based on the current comments and then split out the man pages.

I've pushed the doc changes to #3580
I can drop them from here (or wait for that to land and then let a rebase drop them).

I don’t care about the others.  I find it ironic that a PR about spelling ☺

Hey, my favorites are when commit messages/change logs about misspellings are misspelled.
I actually have a separate commit message for fixing branding. For Microsoft and similar, sometimes it's in a URL where it makes sense to leave things alone.
The one I tend to fix the most often is JavaScript without the capitalized letter, since it's definitely wrong.
After you guys accept a couple of these, I can see about a branding PR – if you're open to it...

@jsoref can you rebase against a recent master and push?
git rebase master
/* fix conflicts */
git push -f github HEAD

thanks!

I use hg. I'll rebase, but right now I don't have a computer. This will have to wait, possibly a couple of weeks. I'm sorry.

@jsoref: are you able to rebase this PR ?

@richsalz: sorry for the delay; @FdaSilvaYY: done...

Ping @openssl

@richsalz ?

Whew, merged.  Squashed to one commit.  Do you have an automated script for this that we could use?
Thank you!

https://github.com/jsoref/spelling
f generates the list of potentially misspelled words.
You could try fchurn, because for an existing repository, you don't really care about existing terms, just newly introduced terms since the previous time f ran (which is 4e74af1b59e5c175d034ec78226e9e14834d3ba2).


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:19: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:28: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:38: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:38: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_45y5uex_c7/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:19: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:28: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:38: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:38: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_1clpoxk301/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Cannot install 6to5

When I try running npm install 6to5 I get this error:
gyp ERR! build error
gyp ERR! stack Error: You must run `node-gyp configure` first!

I've never seen this error message before. Is there some configuration requirement that was recently added?
The error is coming from the node module kexec.
kexec gives another error later on:
Traceback (most recent call last):
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in
sys.exit(gyp.script_main())
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 534, in script_main
return main(sys.argv[1:])
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 527, in main
return gyp_main(args)
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 512, in gyp_main
generator.GenerateOutput(flat_list, targets, data, params)
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2138, in GenerateOutput
os.path.dirname(makefile_path))
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py", line 25, in call
result = self.func(*args)
File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py", line 139, in RelativePath
path = os.path.realpath(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 368, in realpath
return abspath(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 356, in abspath
cwd = os.getcwd()
OSError: [Errno 2] No such file or directory
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Darwin 14.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"

You can safely ignore the kexec compile error, it's an optional dependency and not required. I'm probably going to remove it in a future version because it confuses so many people.
The requirements haven't changed so if npm reports that the installation was successful then everything will work fine.

I'm actually unable to install it. It gets to:
node_modules/6to5/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

and the process completely stops and exits.

Just emailed you the entire log file.

It looks like the result of a bad node install. You have some dev dependencies missing which will break the installation of a lot of stuff. It's possible that either you have a conflicting python installation or you don't have xcode.

Upgrading node from .0.10.29 to 0.10.33 resolved my issue.

Good to hear!

Thanks for the help :)


Slim 528 cucumber check response via dbs

 You should sign our Contributor License Agreement in order to get your pull request merged.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.


[BUG] The upgrade version check does not handle prerelease cases

Describe the bug

Users reported in #3044 the upgrade from v1.1.0-rc3 to v1.1.0 will fail with the following message:
The current version v1.1.0-rc3 is less than the minimum upgradable version v1.0.3.

To Reproduce
Steps to reproduce the behavior:

Prepare a v1.1.0-rc3 Harvester cluster with any number of nodes
Kickstart the upgrade to v1.1.0
The upgrade should fail in the early stage complaining "The current version v1.1.0-rc3 is less than the minimum upgradable version v1.0.3."

Expected behavior

Though we do not support upgrades from a prerelease version, the version-checking logic and the error message should not be confusing.
Support bundle

Environment

Harvester ISO version: v1.1.0
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Workaround: fake the current version kubectl edit settings.harvesterhci.io server-version and edit the value from a prerelease version to a formal release version, e.g. from v1.1.0-rc3 to v1.1.0.
Please check the comment below for the updated workaround.

In the case of upgrading from prerelease versions, either we block such behaviors or let users take the risks doing that.
Regardless of either case, we need to warn the users, both on the documentation and the UI.

It is discussed in https://github.com/harvester/harvester/pull/2829#discussion_r987636298,
v1.1.0 is lexically < v1.1.0-rc*
And @bk201 created an issue: https://github.com/harvester/harvester/issues/2877  [FEATURE] Upgrade path: tool to do semantic version comparison

:eyes: - looking into this

This can be easily reproduced on rc-3 for instance.
vm-v110-rc3-test:~ # curl http://<IP_ADDRESS>/version_v110_our_release_day_forced_upgrade_yaml_for_testing_only.yaml
apiVersion: harvesterhci.io/v1beta1
kind: Version
metadata:
  name: v1.1.0
  namespace: harvester-system
spec:
  isoChecksum: '11b3bfd2ab1eac07c8179d9b3ccf75dd48c4f029d72801931a96a6e4452bddce532029d7045e23096380e2cae7cb8410fef8b2f2ce4c0b23281198b73b3d54ac'
  isoURL: http://<IP_ADDRESS>/harvester-v1.1.0-amd64.iso
  releaseDate: '20221025'

Though, I can not get the work-around to work.
Variants I've tried have been:

Process A:

delete the resourced created, kubectl delete -f
delete the upgrade in K9s
edit the settings.harvesterhci.io server-version, to v1.1.0 no -rc*
create the resource, retry upgrade

Process B:

delete the resourced created, kubectl delete -f
delete the upgrade in K9s
edit the settings.harvesterhci.io server-version, to v1.0.3 `
create the resource, retry upgrade

For the comparison we could possibly try to just sanitize the rc version string.
With something like:
        // whereas currentVersion was like: "v1.1.0-rc3"
	versionTemp := currentVersion
	versionSanitized := strings.Split(versionTemp, "-rc")[0]
	fmt.Println(versionSanitized)

But, I understand that there are probably some downstream effects because we'd just be mutating or creating another variable from, currentVersion in the function signature of:
https://github.com/harvester/harvester/blob/a4872361145e0d0b99c4afeb6052f344acd48f30/pkg/controller/master/upgrade/version_syncer.go#L187-L198
I do like the idea of building the tool to do the version comparisons like mentioned:
https://github.com/harvester/harvester/pull/2829#discussion_r987636298

Harvester Version: v1.1.0-rc3
Infra: kvm/qemu
File-server, Caddy on <IP_ADDRESS> for yaml crd & iso.

Update the workaround, thanks to @bk201

Paused managed chart

$ kubectl edit managedchart harvester -n fleet-local

# edit spec.paused: true
spec:
  paused: true

Edit harvester deployment to pretend the cluster is v1.0.3

$ kubectl edit deploy harvester -n harvester-system

      # add the env variable HARVESTER_SERVER_VERSION
      containers:
      - env:
        - name: HARVESTER_SERVER_VERSION
          value: "v1.0.3"
        - name: HARVESTER_SERVER_HTTPS_PORT
          value: "8443"

And do the upgrade. When it’s done, change back the harvester Deployment by removing the HARVESTER_SERVER_VERSION env.

Move to 1.1.2, we want to leverage https://github.com/harvester/harvester/issues/2877

Although upgrading from/to prereleases is now unblocked, this operation is not supported or recommended in the production environment but only for testing purposes.

validation passed
@starbops this looks good :+1: :smile: !
I'll go ahead and close this out!
I tested from v1.1.2-rc4 -> v1.1.2-rc8 ( single node )


Fix array offset access on null in RavenHandler

PHP 7.4 introduces backward incompatible changes and not allow anymore to access a null variable like an array.
The RavenHandler use an array_reduce with the default initial value that is null but acces it like an array which generate a PHP notice.

Thanks

Thanks @Seldaek
Is it possible to tag a version with this fix ?

1.25.5 / 2.1.1 are out

Nice !
Thanks


Wrong .diff for days calculation while i need moment base on days

Try
moment('2015-08-31').diff('2015-09-01', 'days')

-1  // Awesome

Then
moment('2015-08-31 07:43:00').diff('2015-09-01', 'days')

-0 // -1 Expected

Of cause the diff is not one day enough. But i wanna the diff of days as 2nd param of .diff. It should return -1.

This is by design.  A date without a time is interpreted as the start of the day, which is usually midnight.  Since not a full day has passed, then there are zero days.  Since the first value is still less than the second, you get a negative zero.  See also #2503
If you want to ignore the time, you can use startOf('day') before computing the difference.


[BULK UPDATE] DocuTune - Rebranding links

Global effort for the Microsoft Learn platform rebrand
The Microsoft team is applying changes to content for the Microsoft Learn platform rebrand. Changes include modifications to current Microsoft Learn and Microsoft Docs terminology as well as associated domain name and content URL path changes.
Please review this draft PR and provide any necessary comments as soon as possible. Because these fixes are tightly scoped, we have approval to automatically merge these changes to the default branch for publication.
This PR was generated via DocuTune. It includes only targeted fixes and minor formatting adjustments.
CorrelationId: d8c4c3ac-d49a-4c95-9ddc-9822ca297907
InitiativeId: docutune-rebranding-2022-09
PointOfContact: Alex Buck

#docutune-draft

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

File
Status
Preview URL
Details

tutorials/includes/power-automate/01-intro.md
:white_check_mark:Succeeded

tutorials/includes/power-automate/05-graph-explorer.md
:white_check_mark:Succeeded

tutorials/includes/power-automate/07-use-batch.md
:white_check_mark:Succeeded

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

#docutune-ready

Hi @jasonjoh -
Please merge - thanks!
#docutune-request-approval

Hi @jasonjoh -
Please merge - thanks!
#docutune-request-approval


[Feature]: update TypeScript

Release Notes
Breaking Changes
API Breaking Changes
Could not find upgrade guides or codemods

Closed: Resolved during the update process (see #704)


Fixed duplicates reconnect mentionned in issue #89

In some cases the server going down can lead to multiple triggers of the onConnectionClosed() method, resulting in multiple reconnection timeouts being created. I fixed this problem by only allowing one timeout to be running at a time.

Thanks for working on this! I left you a few comments, but I'd like to talk about the general strategy for solving this. If you look at the issue you referenced, #89, it talks about tigertext@e39460e#diff-bd6ddbbcfe0037b5a08d70a3b5f4930c Did you look at that strategy?
Also, we'd need tests to make sure we don't regress on this issue.

I looked at what they did but for some reason it did not work for me, I'm using a C# server and even with their fix I still managed to get duplicate reconnections attempts when killing the server or unplugging machine running the server. I won't pretend to fully understand what's happening in this lib but I'm pretty confident my fix works (well at least for my use case). And I guess that's why you mentioned adding tests to prevent regression, however I have no Idea on how to do that in practice yet.

The reason I suspect that other commit would be a good fix is that it's effectively doing the same thing as your timeout fix, but still leaves us open to the possibility that there's a condition where something is re-marking the connection as open when it shouldn't. If that's true, that's the root cause of the problem and we should fix that!
btw, if you've got an issue with nyc that's worth opening an issue on!

@Hedgestock @joeybaker I think this PR #125 has already fixed the issue mentioned here, but this PR has reverted that fix, maybe be mistake when solving conflictes, please check.
As for https://github.com/tigertext/eventsource/commit/e39460e7b852a0b286d7b752efb8f0bcb04f1057#diff-bd6ddbbcfe0037b5a08d70a3b5f4930c , it dose not really solve the duplicate reconnection issue, check my comment HERE

Sorry for not responding to this earlier - eventsource@^3 has a completely new implementation that should hopefully account for this - let us know if it does not.


Betslip transition on tablet

Prototype: https://framer.com/share/SportsBook-Mobile-Prototype-Tablet-betslip-transition--18CV0EqIa9wMyvRLjpT8
Code:
// On Tap - Navigation
type: "tween",
delay: 0,
duration: 0.3,
ease: [0.44, 0, 0.56, 1],
tapping any of the backdrop should close the betslip

also touch up style for tablet/tiny breakpoints and the slide out effect to match mocks.

Seeing this on my tablet

Can you fade in and out the background overlay and clicking the background should close the betslip


Custom pin icon using "BitmapDescriptorFactory.FromStream"

(This is template for issue. Please choose from feature request or bug report or others then write.
If you need realtime communication then you can join our gitter room.)

FEATURE REQUEST / SUGGESTION
SUMMARY
BitmapDescriptorFactory.FromStream = null!!
DETAILS
I want to use custom markers. The 'BitmapDescriptorFactory.FromStream' statement always returns null values to me. if I use 'BitmapDescriptorFactory.FromBundle' instead, everything works fine.
where am I wrong?the image path 'png' is identical to the example supplied by you.
// usage of your requested feature to use

PLATFORMS
which platform do you want?

[x] Android
[x] iOS
[ ] UWP

BUG / PROBREM REPORT
SUMMARY
(write summary of your bug report.)
VERSIONS

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

PLATFORMS

[x ] Android
[x] iOS
[ ] UWP

HOW TO REPRODUCE
(Let me show how to reproduce with steps or codes)
            var assembly = typeof(MapCollect).GetTypeInfo().Assembly;
            var file = "marker02.png";
            var stream = assembly.GetManifestResourceStream($"AppWorkForce.{file}");

// code for reproduce

ACTUAL IMAGES
(Let me show your actual problem images/stacktrace. If you want to capture simulator screen to animation GIF, I recomend to LICEcap.)

// paste stacktrace

OTHERS
(free format)

This has always been working for me. Heres my code.
BitmapDescriptor SetPinIconStream(string embeddedResource)         {             var assembly = typeof(DeliveryTrackerDetail).GetTypeInfo().Assembly;             var stream = assembly.GetManifestResourceStream($"" + embeddedResource);             return BitmapDescriptorFactory.FromStream(stream);         }

FromBundle is for native(Android or iOS) resource.
FromStream  is for ".NET(PCL)" resource.
And you should set marker02.png as EmbedResource.


This repository has no activity

Currently, this repository has no activity and there are separate activities in several forked repositories such as https://github.com/grosser/stern.

superbrothers: at-akupila at-hatchan From the looks of it, this project has no activity. I'll be the maintainer if you'd like.
akupila: at-superbrothers Yeah seems so. I've left the company quite a while ago so i can't give anybody access. I think the best option is to switch to a more actively maintained fork, such as this one.

https://github.com/wercker/stern/pull/126

I hope this repository will be back to have activities. However, if that is difficult, I propose restarting the maintenance in another repository, such as github.com/stern/stern.

@floryut I'm no longer associated with Wercker or Oracle, so I'm sorry but I cannot do anything.

@floryut I'm no longer associated with Wercker or Oracle, so I'm sorry but I cannot do anything.

Ok thank you for the answer :)

@superbrothers Could we create a repository in https://github.com/kubernetes-sigs ?

Could we create a repository in https://github.com/kubernetes-sigs ?

@floryut This is a good idea. However, I'm not a member of kubernetes-sigs and I don't even know how to create a repository with that Org. Also, it probably needs to be under the control of a SIG somewhere. It may be SIG-CLI. I find out how to create a repository with kubernetes-sigs Org.

Looks like we need to follow this : https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md#rules-for-new-repositories

Nikhita Raghunath @ Kubernetes Slack:
Please create an issue in the kubernetes/org repo when everything is ready and assign me, I'll create the repository

We have created https://github.com/stern/stern as a community-maintained repository. If you have an issue, please create it in the repository. Issues that already exist in this repository will be copied to stern/stern.
This issue keeps unclosed so that others can see that it is being developed with stern/stern.


ActionFailed. An action failed. No dependent actions succeeded. For logic app Get-GitHubAuditEntry( Ingest GitHub AuditLog and API Data)

ActionFailed. An action failed. No dependent actions succeeded. For logic app Get-GitHubAuditEntry( Ingest GitHub AuditLog and API Data)
After triggering the logic app " Get-GitHubAuditEntry" getting an error like this "
"InvalidTemplate. Unable to process template language expressions for action 'Condition_3' at line '1' and column '3448': 'The template language function 'length' expects its parameter to be an array or a string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#length for usage details.'." for condition 3 of the logic app. The other 2 logic apps were successfully triggered.
Output Body of 'HTTP' in the "Until"
{
"errors": [
{
"message": "A query attribute must be specified and must be a string."
}
]
}

@AbhiramVijayan  could you share a screenshot of the output from the Parse JSON 2?

@AbhiramVijayan Could you try adding a row in condition 3.
make it an OR condition, click add row.  Enter @body('Parse_JSON_2')?['data']?['organization']?['auditLog']?['edges'] is equal to @null
should look like this

Then re-reun.  it should fix it.  once you confirm ill update the arm template

@dicolanl  Getting same error after adding the OR condition

Error

I just noticed the problem.

this http call has no body.  the body should be the variable auditQuery.
I tested on mine and it did it too.  I added a delay step (wait 1 min). before the HTTP step now it has the body = auditquery.  Could you try the same?

@dicolanl  I think the issue is now solved, I don't have a GitHub organization account, so I can't move forward

Parse JSON 2 Input
{
"data": {
"organization": null
},
"errors": [
{
"type": "PLAN_NOT_SUPPORTED",
"path": [
"organization",
"auditLog"
],
"locations": [
{
"line": 1,
"column": 52
}
],
"message": "Organization billing plan does not support access to auditLog information."
}
]
}

Hi Team im getting similar type of issue in Logic app getting "An action failed. No dependent actions succeeded "  and Bad request in Http


Set up routes.

Design the API routes. The API will Create, Read, Update, and Delete records from a mongo database. We need to design a structure for the routes. Are we going to have a single api endpoint and route based on options or are we going to create a seperate endpoint for each action? Also, this is the time to choose what functionality we are going to include with the API. Are we going to just handle single records at a time or are we going to process multiple records and return reports?
For simplicity, I think a good place to start is with the basics. Design a routing system that handles single records, then we can expand into multiple records.
We'd need the following capabilities
Create Customer
Create Order
Create Product
Get Customer
Get Order
Get Product
Update Customer
Update Order
Update Product
Delete Customer
Delete Order
Delete Product

I have broken this issue down to multiple issues and created a Routes Milestone.


Convert timestamps to seconds

pd.to_datetime fails using nanosecond timestamps in the most recent pandas (pd 1.2.4/np 1.19.5/win64)
I tried recreating your plots (anaconda win64, python 3.9, recent pandas/numpy from conda-forge)
In the R vs cases plot all timestamps where mangled to 1970. This turns out to be pd.to_datetime L673 failing on converting the nanosecond timestamp. (Even when forcing unit='ns')
This converts the timestamp to seconds, and forces unit='s' for clarity.
(I only tested  plot_R_from_daily_cases.py)

Sorry for the late response; I missed the notification for this PR.
I undid the merge because (as you noted yourself), it changes the time offset (from infection to report) in the R calculation. I'll look into this later.

I fixed this bug in a different way. In some calculations, times are handled as floats representing nanoseconds since epoch. In the conversion back, this happened:
  np.array([1.6e+18]).astype(int)

In Anaconda Linux, this will result in int64, but in 64-bit Anaconda for Windows, it's converted to int32, which cannot represent such large values. So, the fix was: use np.int64 rather than 'int'. Commit 30df37c8.


build: renku-python enabled support for pyyaml to use C libyaml backe…

…nd if available

Whoops -- didn't check the name of the library
libyaml-0-2?
which one is dev? the "dbg" seems to be for debugging (https://packages.ubuntu.com/bionic/libyaml-0-2)

Tested with:
python -c "from yaml import CLoader"

^ no error message.

I thought you additionally had to install the library from source? cc @Panaetius ?


"Nonce Mismatch" for parallel acquireTokenSilent() calls

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

[X] Chrome version 78.0.3904.108
[ ] Firefox version XX
[ ] IE version XX
[ ] Edge version XX
[ ] Safari version XX

Library version

Library version: 1.1.3

Current behavior

When the user is already signed in without Msal (here via Azure App Service EasyAuth) and sending multiple non-cached acquireTokenSilent() calls with a login hint for different scopes in parallel, the operation fails with a "Nonce Mismatch" error.
This only happens when the login response contains an idToken, e.g. when using a login hint in the token request (see the example below).
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/9c02f2604bd9fa2d2e4de777ffdc28e977091cdf/lib/msal-core/src/UserAgentApplication.ts#L1682
Both requests will set the "msal.nonce.idtoken" variable in local storage.
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/9c02f2604bd9fa2d2e4de777ffdc28e977091cdf/lib/msal-core/src/UserAgentApplication.ts#L2246
The second request overwrites the value of the first one. When processing the response of the first request a nonce mismatch is reported (as it will read the nonce value from the second request from local storage).
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/9c02f2604bd9fa2d2e4de777ffdc28e977091cdf/lib/msal-core/src/UserAgentApplication.ts#L1710
As a workaround I am now serializing all my acquireTokenSilent() calls.
Expected behavior

Sending such requests in parallel should be possible without an error.
Minimal reproduction of the problem with instructions

index.html (removed scopes, and application-specific IDs)
<html>
  <head>
    <title>Request access tokens</title>
    <script src="msal.js"></script>
  </head>
  <body>
    <script>
      localStorage.clear(); // Problem does not occur when using cached access tokens

      const msalConfig = {
        auth: {
          clientId: '<clientId>',
          authority: '<authority>',
          redirectUri: 'http://localhost:4200/assets/login-response.html'
        },
        cache: {
          cacheLocation: 'localStorage',
          storeAuthStateInCookie: false
        }
      };

      const msal = new Msal.UserAgentApplication(msalConfig);

      msal.acquireTokenSilent({
        scopes: ['<scope1>'],
        loginHint: '<usermail>'
      }).then(tokenResponse => {
        console.log("Token response 1: ", tokenResponse);
      }).catch(error => {
        console.error("ERROR 1: ", error); // Will fail with error "ClientAuthError: Nonce is not matching, Nonce received:  <nonce1>, nonce expected :<nonce>2".
      });

      msal.acquireTokenSilent({
        scopes: ['<scope2>'],
        loginHint: '<usermail>'
      }).then(tokenResponse => {
        console.log("Token response 2: ", tokenResponse); // Will succeed
      }).catch(error => {
        console.error("ERROR 2: ", error);
      });
    </script>
  </body>
</html>

The user is already logged in here, I am using loginHint as described here: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-sso#sso-without-msaljs-login

@bwiesmueller Can you please try 1.2.0-beta.4 and let us know if you still see the issue? I believe we fixed this bug in the latest betas. @sameerag can confirm.

Yes, this should be fixed in 1.2.0-beta.4. Please test it and let us know?

Yes, you are right. It is fixed in 1.2.0-beta.4 and works for my example :)

Great! Thanks for the feedback. Closing this issue.


proper macOS name styling

minor styling fix.

Hi, thanks for the fix ! I've approved your changes and merged them.