To be discussed: hooks proposal

I am facing a problem: I am building an application where members can display their informations (name, job, location) and talk to other members privately (as a social network).
Members are part of member-users group, having the edit-member permission.
Every time a member is created, a corresponding apostrophe-user is created, and this apostrophe-user is put in the member's editUsersIds and docPermissions fields, allowing only him to modify the member.
The public informations can be fetched without being logged in. My member schema looks like that:
     {
        name: 'lastName',
        type: 'string',
        required: true,

      },
      {
        name: 'firstName',
        type: 'string',
        required: true,

      },
      ...
      {
        name: '_conversations',
        type: 'joinByArray',
        filters: {
          projection: {
            title: 1,
            slug: 1,
            type: 1,
          },
        },
        api: 'editPermissionRequired',
      }

I added the property api: 'editPermissionRequired' in order to hide conversations from loggued-out users. But a member can see a conversation that does not belong to him because he is part of the member group, having the member-edit permission. He cannot modify the conversation, but he can see it, and that's a privacy problem.
What can be a better way of organizing groups, users or permissions in order to display public informations and in the meantime hide some to everyone but the creator? Is there a way to check individual permissions?
If not, I propose to add hooks in the way pieces are fetched (in this PR only "after" hooks, but if it is the accepted solution, I will add "before" and "after" to count and render functions too).
I can then use an "after" hook like this:
    self.afterFindMany = (req, pieces) => {
      pieces.forEach(piece => {
        if (!piece.editUsersIds.includes(req.user._id)){
          piece['_conversation'] = {}
          piece['conversationIds'] = []
        }
      })

      return pieces
    }

filtering fields the way I want.
But it might not the best solution.

According to the documentation, the current implementation of editPermissionRequired is actually incorrect. The documentation says:
"You can restrict what fields to send by adding api: false to a specific schema field. If only users with editing permissions for the doc should see a specific field, you can pass the option api: 'editPermissionRequired'."
... And that is the behavior that makes sense.
But what is actually happening is that we are filtering by whether they have member-edit which allows them to make new members, not necessarily edit this one. So we are getting the wrong answer when we filter for that permission in general.
So the correct fix would actually be to move the editPermissionRequired check for each field into findPieces, where we can check piece._edit to see if the user can actually edit this piece before allowing the field through.
If that fix is made, then we don't need the hooks to solve this problem.
As for the hooks themselves though, they are a good idea but should be implemented to accept a callback or return a promise, because it is highly likely that some hooks people want to write will be asynchronous.
Would you like to fix editPermissionRequired or would you prefer that we do it?

What I should have said is that the hooks should be implemented as promise
events.
self.emit('afterGetMany', req, pieces).then(....)
On Fri, Feb 15, 2019 at 8:45 AM Tom Boutell<EMAIL_ADDRESS>wrote:

According to the documentation, the current implementation of
editPermissionRequired is actually incorrect. The documentation says:
"You can restrict what fields to send by adding api: false to a specific
schema field. If only users with editing permissions for the doc should see
a specific field, you can pass the option api: 'editPermissionRequired'."
... And that is the behavior that makes sense.
But what is actually happening is that we are filtering by whether they
have member-edit which allows them to make new members, not necessarily
edit this one. So we are getting the wrong answer when we filter for that
permission in general.
So the correct fix would actually be to move the editPermissionRequired
check for each field into findPieces, where we can check piece._edit to
see if the user can actually edit this piece before allowing the field
through.
If that fix is made, then we don't need the hooks to solve this problem.
As for the hooks themselves though, they are a good idea but should be
implemented to accept a callback or return a promise, because it is highly
likely that some hooks people want to write will be asynchronous.
Would you like to fix editPermissionRequired or would you prefer that we
do it?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-headless/pull/31#issuecomment-464055627,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AROF6FnuY9vHArr49gZIrxyt2W2PnPwZks5vNroQgaJpZM4aVuoj
.

--
Thomas Boutell, Chief Software Architect
P'unk Avenue |<PHONE_NUMBER>  |  punkave.com

I can do the fix about editPermissionRequired (in a new PR maybe) and I will do the hooks afterwards.

Closing because editPermissionRequired is being handled elsewhere and the hooks need to be implemented differently (using promise events).


Files in Table Overlap Save Widget

When the titles of files are long, the row of the table overlaps the save widget in the right hand column.


Reload config on SIGUSR1

I want to implement a simple reload functionality on SIGUSR1.
The implementation is not zero down time, I can use something like https://github.com/rcrowley/goagain or https://github.com/zimbatm/socketmaster but its not important for me, and also there is a problem if the new config contain less or more listener inside. (need more code and I want it to be simple)
The idea is to kill all listener on SIGUSR1, fork a new cow, and kill the current instance.
@cyfdecyf any note on this?

Thanks for your implementation, I also like to keep things simple.


[guide] update and add guides for ISA data annotation / sample linking

This guide is still based on Swate as excel plugin and with Source / Sample names: https://nfdi4plants.org/nfdi4plants.knowledgebase/docs/guides/BestPracticesForDataAnnotation.html

[ ] Update screen shots with versions from ARCitect / swate-alpha (add a suitable sheet name and protocol REF column)

The concept how samples, data, processes and eventually study-assay are connected in the ARC via ISA is not explained well enough

[ ] take the examples from above (or create additional ones) to explain how study and assay processes (can also be subprocesses ~ sheets) are connected via reuse of sample names in input / output / data nodes
[ ] add graphs (mermaid, or preferably nicer graphs) to illustrate the connections

feel free to reuse from here or update that article https://github.com/nfdi4plants/nfdi4plants.knowledgebase/blob/arc-practical-guide/src/docs/guides/ARC-practical-entry.md

@toriapetrova


Launch packages from HMI display menu Entry "My Program"

This PR enables users to launch their program/ programs from HMI display of TB4 by pressing "My Program" on the available menu list.
Usage:

Launch Tb4 Ignition bringup by running below launch file

ros2 launch hmi_simulation_project_manager tb4_ignition.launch.py

run hmi_simulation_project_manager manager script before pressing the button on the turtlebot4 display. By running this script, I am initiating all the required node to run a motion planner

ros2 run hmi_simulation_project_manager manager

Note:

In this example, we are launching unit02_simulation_motion_planner as an example
Make sure to source install Turtlebot4 packages from below PR
https://github.com/turtlebot/turtlebot4/pull/24

[TODO] Launch multiple launch files one after the other

I don't understand why this PR has copies of an existing package's messages.

I remove the turtlebot4_msgs from the package. That was an uncertain commit.

Is there a second pull request that updates the turtlebot4 menu with menu options?

Please refer to below pull request
https://github.com/turtlebot/turtlebot4/pull/24


Request addition of Open Targets API

Request type
Extension of existing module
Request description
Would be great to be able to query the Open Targets databases for interpreting genome variation and function via their API: https://platform.opentargets.org/api
Example command
No response
Example return value
No response

Module gget opentargets added in gget version >= 0.29.0


Conversation.ResumeAsync not working on Telegram

I think I can repro this fairly consistently:
Take a bot that uses conversation.ResumeAsync that works on other channels. Try it on Telegram. You will get this error:
"Unknown botId "
Where username is the Telegram’s user name, not the actual bot ID. Somewhere these values are getting mixed. I found this by accident when folks told me authbot wasn’t working on Telegram anymore. I believe this was introduced in some recent version of the library maybe?

@matvelloso are you using .NET or Node SDK for BotBuilder?

C# in this case

@matvelloso Have you found a solution for this issue?
I get exception on the same line but it doesn't say that the BotID is different...
2018-05-31T20:09:26,Error,virtubot-service,93ff18,636633941665368172,0,796,26,"Microsoft.Bot.Connector.ErrorResponseException: Operation returned an invalid status code 'NotFound'
   at Microsoft.Bot.Connector.Conversations.<ReplyToActivityWithHttpMessagesAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Connector.ConversationsExtensions.<ReplyToActivityAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AlwaysSendDirect_BotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__4.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\BotToUser.cs:line 124
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.InputHintQueue.<Microsoft-Bot-Builder-Dialogs-Internals-IMessageQueue-QueueMessageAsync>d__4.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\BotToUser.cs:line 184
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AutoInputHint_BotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\BotToUser.cs:line 146
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.MapToChannelData_BotToUser.<PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\BotToUser.cs:line 295
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.LogBotToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__4.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\IActivityLogger.cs:line 131
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogContext.<Microsoft-Bot-Builder-Dialogs-Internals-IBotToUser-PostAsync>d__12.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogContext.cs:line 87
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Extensions.<PostAsync>d__14.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\IDialogContext.cs:line 150
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Virtubot.Dialogs.AuthDialog.<MessageReceivedAsync>d__4.MoveNext() in C:\vstsAgent\_work\2\s\Virtubot\Dialogs\AuthDialog.cs:line 60
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.ThunkResume`1.<Rest>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 165
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Wait`2.<Microsoft-Bot-Builder-Internals-Fibers-IWait<C>-PollAsync>d__19.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Wait.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Frame`1.<Microsoft-Bot-Builder-Internals-Fibers-IFrameLoop<C>-PollAsync>d__9.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Fiber`1.<Microsoft-Bot-Builder-Internals-Fibers-IFiberLoop<C>-PollAsync>d__16.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Bot.Builder.Internals.Fibers.Wait`2.Microsoft.Bot.Builder.Internals.Fibers.IAwaiter<T>.GetResult() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Wait.cs:line 378
   at Virtubot.Dialogs.RootDialog.<ListMe>d__8.MoveNext() in C:\vstsAgent\_work\2\s\Virtubot\Dialogs\RootDialog.cs:line 99
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.ThunkResume`1.<Rest>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 165
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Wait`2.<Microsoft-Bot-Builder-Internals-Fibers-IWait<C>-PollAsync>d__19.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Wait.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Frame`1.<Microsoft-Bot-Builder-Internals-Fibers-IFrameLoop<C>-PollAsync>d__9.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Fiber`1.<Microsoft-Bot-Builder-Internals-Fibers-IFiberLoop<C>-PollAsync>d__16.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Bot.Builder.Internals.Fibers.Wait`2.Microsoft.Bot.Builder.Internals.Fibers.IAwaiter<T>.GetResult() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Wait.cs:line 378
   at Microsoft.Bot.Builder.Dialogs.Chain.LoopDialog`1.<ResumeAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\Chain.cs:line 753
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.ThunkResume`1.<Rest>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 165
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Wait`2.<Microsoft-Bot-Builder-Internals-Fibers-IWait<C>-PollAsync>d__19.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Wait.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Frame`1.<Microsoft-Bot-Builder-Internals-Fibers-IFrameLoop<C>-PollAsync>d__9.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Internals.Fibers.Fiber`1.<Microsoft-Bot-Builder-Internals-Fibers-IFiberLoop<C>-PollAsync>d__16.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Fibers\Fiber.cs:line 248
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.<Microsoft-Bot-Builder-Base-IEventLoop-PollAsync>d__23.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 321
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.ReactiveDialogTask.<Microsoft-Bot-Builder-Base-IEventLoop-PollAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 376
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.ScoringEventLoop`1.<Microsoft-Bot-Builder-Base-IEventLoop-PollAsync>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\ScoringEventLoop.cs:line 73
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.EventLoopDialogTask.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 435
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.SetAmbientThreadCulture.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\PostToBot.cs:line 103
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.QueueDrainingDialogTask.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__4.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 456
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.PersistentDialogTask.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 481
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Bot.Builder.Dialogs.Internals.PersistentDialogTask.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 485
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.ExceptionTranslationDialogTask.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__2.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\Dialogs\DialogTask.cs:line 403
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.SerializeByConversation.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__4.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\PostToBot.cs:line 129
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.PostUnhandledExceptionToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\PostToBot.cs:line 156
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Bot.Builder.Dialogs.Internals.PostUnhandledExceptionToUser.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__5.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\PostToBot.cs:line 169
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.LogPostToBot.<Microsoft-Bot-Builder-Dialogs-Internals-IPostToBot-PostAsync>d__3.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder\ConnectorEx\IActivityLogger.cs:line 109
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Conversation.<SendAsync>d__11.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder.Autofac\Dialogs\Conversation.cs:line 182
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Conversation.<ResumeAsync>d__8.MoveNext() in D:\a\1\s\CSharp\Library\Microsoft.Bot.Builder.Autofac\Dialogs\Conversation.cs:line 141
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Virtubot.CallbackController.<Callback>d__0.MoveNext() in C:\vstsAgent\_work\2\s\Virtubot\Controllers\CallbackController.cs:line 79",800024c2-0000-e000-b63f-84710c7967bb

@craigjensen how are botIds mapped in the telegram channel?

Thank you for opening an issue against the Bot Framework SDK v3. As part of the Bot Framework v4 release, we’ve moved all v3 work to a new repo located at https://github.com/microsoft/botbuilder-v3. We will continue to support and offer maintenance updates to v3 via this new repo.
From now on, https://github.com/microsoft/botbuilder repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the new Bot Framework v3 repo found here:
https://github.com/microsoft/botbuilder-v3/issues
For Azure Bot Service Channel specific defects or feature requests (e.g. Facebook, Twilio, Teams, Slack, etc.), please create a new issue in the new Bot Framework Channel repo found here:
https://github.com/microsoft/botframework-services/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


iOS BoringSSL output frames and disconnects

Bug report
Current behavior:
About every 4th or 5th build the app on the physical device hangs during the launch and the below message appears in Xcode console:
[BoringSSL] nw_protocol_boringssl_input_finished(1543) [C3.1:2][0x12fd335c0] Peer disconnected during the middle of a handshake. Sending errSSLClosedNoNotify(-9816) alert
TIC TCP Conn Failed [3:0x2805712c0]: 3:-9816 Err(-9816)
[BoringSSL] nw_protocol_boringssl_input_finished(1543) [C5.1:2][0x12fe46470] Peer disconnected during the middle of a handshake. Sending errSSLClosedNoNotify(-9816) alert
TIC TCP Conn Failed [5:0x280575f80]: 3:-9816 Err(-9816)
[BoringSSL] boringssl_context_alert_callback_handler(3724) [C6.1:2][0x12fd43710] Alert level: fatal, description: inappropriate fallback
[BoringSSL] boringssl_session_errorlog(224) [C6.1:2][0x12fd43710] [boringssl_session_handshake_incomplete] SSL_ERROR_SSL(1): operation failed within the library
[BoringSSL] boringssl_session_handshake_error_print(205) [C6.1:2][0x12fd43710]<PHONE_NUMBER>:error:1000043e:SSL routines:OPENSSL_internal:TLSV1_ALERT_INAPPROPRIATE_FALLBACK:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.250.2/ssl/tls_record.cc:586:SSL alert number 86
[BoringSSL] boringssl_context_get_error_code(3617) [C6.1:2][0x12fd43710] SSL_AD_INAPPROPRIATE_FALLBACK
TIC TCP Conn Failed [6:0x280576640]: 3:-9860 Err(-9860)
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9860)
Task <02ADA890-35C5-4DE7-B0E5-6EC812CF79E6>.<1> HTTP load failed (error code: -1200 [3:-9860])
Task <02ADA890-35C5-4DE7-B0E5-6EC812CF79E6>.<1> finished with error - code: -1200
nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x12fe15ea0] get output frames failed, state 8196
nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x12fe15ea0] get output frames failed, state 8196

In addition, In Xcode, on every build to a physical device getting repeating messages I have never seen before, the below message always shows in pairs:

[BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x129e062b0] get output frames failed, state 8196

Upon building the app to a physical device.
This never happened before on previous versions of Cordova-plugin-firebase or even Cordova-plugin-firebase-lib - at least it was never observed.  When moved to firebase this started happening....no other plugins were added or updated.  The only code changes made were to deal with breaking changes between firebase and firebase
Upon researching this BoringSSL issue, came across a few threads at various sites refer to this as a Firebase issue.  In addition, the BoringSSL messages/disconnects happen immediately after Firebase loads.
IE: https://github.com/firebase/firebase-ios-sdk/issues/357
Environment information
system information:
Cordova CLI: 9.0.0<EMAIL_ADDRESS>cordova-ios: 5.0.0
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic Framework Version: 1.3.4
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
ios-deploy version: 1.9.4
ios-sim version: 8.0.1
OS: Mac OS X El Capitan
Node Version: v6.11.4
Xcode version: Xcode 10.1 Build version 10B61

I don't believe that this plugin is directly responsible for this or can do anything about it since it's simply a thin wrapper around the Firebase SDK and as the linked issue suggests, this is also arising in native iOS apps which access the Firebase SDK directly.
Therefore I'm closing this as I don't believe there's anything that the plugin can do to resolve it.

@dpa99c - ok, thanks for taking a look at it.

Hey @rolinger,
do you have anything new about this? Iam wasting hour after hour on this....

@orianweste - I do not unfortunately.  Its driving me nuts too.  Very little info on google about it.  The few articles I found were referencing that the disconnect issue was related to trying to reach the google apis via the Firebase SDK.   I managed to fix a Fabric issue (Firebase Crashlytics linking problem) and after that it seems I am not getting too many more disconnect/hanging issues - in fact, I am not certain its happened again since the Fabric fix.  I outlined the Fabric issue and fix here:  https://github.com/dpa99c/cordova-plugin-firebasex/issues/91
I still get plenty of BoringSSL nw_protocol_boringssl_get_out_frames errors though.  Its not crashing the app but they do happen in batches of 4 or 5 about every 20min if I just leave my app running.


[QNN] Channel wise quantization - Quantize & Requantize

RFC  -  https://discuss.tvm.ai/t/qnn-channel-wise-quantization/5300

RFC - https://discuss.tvm.ai/t/qnn-channel-wise-quantization/5300
Please review - @jackwish @FrozenGene @shoubhik @u99127 @Leo-arm @vinx13 @zhiics

LGTM. Several code style comments :)

Thanks for the helpful comments @jackwish All the comments were very good and have been addressed :)

@tmoreau89 Could you please manage the PR?

@zhiics on it, thanks

@shoubhik Thanks for the comments. Addressed.
@tmoreau89 CI passing now.

Thank you @anijain2305 , @shoubhik , @jackwish ; the PR has been merged


Cluster patching for Windows. Plus documentation.

References #503
Fixes #673
Fixes #672
Fixes #660
Notes

kubectl cp syntax specifies a pod file as pod:path. Note the :. That is a special character on Windows and breaks the command. This got replaced by a series of kubectl exec commands using a tar command client- and pod-side to copy the file in, move it into the proper place, and ensure correct permissions.
Note that in the above we cannot use absolute paths, like /epinio either, they are breaking the command as well. Because on Windows these are drive-relative paths and get expanded by the kubectl binary before trying to use them. Luckily for us relative paths, i.e epinio do work. Because the CWD for kubectl exec is the root directory of the pod, making relative and absolute paths equivalent.
Newly added to the patch script is the EPINIO_BINARY_TAG variable. It contains the tag for the image the binary will be placed in. From within a git checkout the default, provided by a git describe ... command is good enough. Outside of a checkout use make tag in the checkout to determine the tag, and then set the environment variable explicitly.

Confirmed working :tada: :fireworks: :green_heart:


error: cannot run C compiled programs.

I'm trying to install neovim using homebrew on El Capitan and I'm getting the following error:

Last 15 lines from /Users/ali/Library/Logs/Homebrew/neovim/02.make:
/usr/local/Cellar/cmake/3.3.2/bin/cmake -E touch /tmp/neovim20151102-12799-15sx2wk/deps-build/build/src/jemalloc-stamp/jemalloc-update
[  7%] Performing configure step for 'jemalloc'
cd /tmp/neovim20151102-12799-15sx2wk/deps-build/build/src/jemalloc && /tmp/neovim20151102-12799-15sx2wk/deps-build/build/src/jemalloc/configure CC=/usr/local/Library/ENV/4.3/clang --prefix=/tmp/neovim20151102-12799-15sx2wk/deps-build/usr
checking for xsltproc... /usr/bin/xsltproc
checking for gcc... /usr/local/Library/ENV/4.3/clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in /tmp/neovim20151102-12799-15sx2wk/deps-build/build/src/jemalloc': configure: error: cannot run C compiled programs. If you meant to cross compile, use --host'.
See `config.log' for more details
make[2]: *** [build/src/jemalloc-stamp/jemalloc-configure] Error 1
make[1]: *** [CMakeFiles/jemalloc.dir/all] Error 2
make: *** [all] Error 2

I installed jemalloc and still the same error.

"cannot run C compiled programs." means your homebrew or xcode is totally broken. See
https://github.com/neovim/homebrew-neovim/issues/95
https://github.com/neovim/homebrew-neovim/issues/92
https://github.com/neovim/homebrew-neovim/issues/89
https://github.com/neovim/homebrew-neovim/issues/85


cannot read property 'activateShield' of null

Can I just type the code together? How should I change it?

  useEffect(() => {
    if (Platform.OS === 'ios') {
      ScreenGuardModule?.register(
        //insert any hex color you want here, default black if null or empty
        '#000000',
        _ => {
          // .....do anything you want after the screenshot
        },
      );
    }
  }, []);

And if you want to perform this action when the capture button is clicked on a specific page.. Can I use the same as above?
When I put it in useEffect, there was an issue where a black screen was set without capturing

have you cd ios && pod install yet ? Please double check README again to continue.
the module has already been registered and run until unregisted is called. So you just call the function just only ONCE.

When I put it in useEffect, there was an issue where a black screen was set without capturing -> describe your problem more detail, iOS version running, simulator, library version you are using.

yes i have cd ios && pod install

Share the device type

ios version:  16.1.1
android version: 10

hmm... sorry
For both 1 and 2, can android tell you that some don't? 🥲

have you check this yet ?
https://github.com/gbumps/react-native-screenguard#post-installation-setting-for-android-important
if not, open Android Studio and check the module react-native-screenguard in the Project section to see if it is linked automatically yet. (i recommend to use yarn install  for autolinking).
I have checked on Android and still run normally. (I'm running v.0.2.0 (latest), Android 10, react-native 0.71.8)

I am getting the same error: cannot read property 'activateShield' of null. I am running with expo on ios and have followed the installation & setup including cd ios && pod install. My react version is 0.72.6.

@meredithvf  please first eject expo to continue

The same error on Expo 51.0.26 and RN 0.74.5 IOS. On simulator everything is ok but on device shows the error.


How do I show a tooltip on focus of something other than an

I need to have a tooltip show when I focus on a div, p, or some other kind of block element.  I originally used click as the trigger, but when I do this, I have to click on the div to hide the tooltip.  I want the tooltip to disappear when I click anywhere on the page.  Here is a plunkr to show what I am talking about.
http://plnkr.co/edit/IWHPFfpei5UzUza8icac?p=preview

@mjhamm75 Questions of this nature will get a better response on Stackoverflow, please see the Need help section here.  This issue has nothing to do with the tooltip directives, some elements (like a div, p) will not accept a focus event without a tabindex attribute.  In your plunk, I added tabindex="-1" to the p element and the tooltip showed up.


Ability to Refresh the view without reopening the pane with calendar

Delete this before submitting
Please include only one feature request per Issue. You can submit as many Issues as you have ideas. Thank you!
Currently the command "Open full calendar" reopen the pane with calendar and refresh the external  ical calendars.
Sometimes I have the pane resized and have view on specific day, using "open the calendar" reset to default view
Would be great if there would exist possibility to refresh the calendar in the background withot recreating all the elements of the view (via the palette command or button in calendar)

+1


"global level of red" different in resized image

in some of the first volumes of bdr:W4CZ5369,
full size image and resized image seem to have differents "red level" of something
resulting in unsatisfying OpenSeaDragon viewer behavior when zooming in/out due to this "red level" changing
below is a mix between both images, left is fullsize and right 1250px width:

The problems i that the full version (that is not processed by hymir) has a color profile (AdobeRGB) that is not kept in the processed (resized) image. It really should be retained, it's very important. It's just something in the metadata, it should necessitate special development... @MarcAgate can you take a look?

Do we have an exhaustive list of the format being stored on S3 and served by iiifserver (Tiff, Jpeg, anything else ?) Looks like not all formats are supported when it comes to read ICC profile from image metadata using java. Also, it looks like hymir is not handling IIOMetadata when reading images.

Tif, jpeg and png are the most important. It's really a necessary feature so if there's a limitation from hymir we need to report the issue and fix it

As far as I can tell, there's nothing in hymir that reads IIC profile from readers in order to parameterize writers... Also (for instance) , twelvemonkeys seems to handle TIFF and JPEG very differently regarding metadata and ICC_PROFILE. I need to investigate this and to reports the issue to hymir anyway.

Ok, let's talk tomorrow, if you have a demo code in a java test file of something that we can do with the twelvemonkeys codecs that we can't with imageio-jnr that will be perfect

Some issue status here:

We discovered that when running iiifserv on my machine (mac), the issue disappeared.
We then realized that we were using java Hot spot 8 on my mac and OpenJdk 8 on ec2 and that java version could matter
We then observed that the IIC profile of the original image wasn't the same as the read image
for instance:
Original ICC:

icc:copyright: Copyright 2000 Adobe Systems Incorporated
icc:description: Adobe RGB (1998)
Profile-icc: 560 bytes

ICC of the read image:
icc:copyright: Copyright (c) 1998 Hewlett-Packard Company
icc:description: sRGB IEC61966-2.1
icc:manufacturer: IEC http://www.iec.ch
icc:model: IEC 61966-2.1 Default RGB colour space - sRGB
Profile-icc: 3144 bytes

We tried the following workaround in order to preserve the original ICC profile: here

However, in the jpeg case:
Hymir is using com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader
This reader exposes 2 ImageTypeSpecifier:
javax.imageio.ImageTypeSpecifier$Interleaved
javax.imageio.ImageTypeSpecifier$Grayscale

The tests show that only the Interleaved ImageType is supported
On the other end, the twelvemonkeys JPEGImageReader getRawImageType(imageIndex) method returns null for the computed imageIndex and therefore the workaround doesn't work
At this point, assuming the issue is really coming from java versions and that the provided workaround is valid, we might try other readers with that workaround.

thanks! please make a small demo .java file that we can elaboate on to find some solutions to this issue

Some additional info from my investigations/tests:
if I save http://iiif.bdrc.io/bdr:V4CZ5369_I1KG9127::I1KG91270004.jpg/full/2000,/0/default.jpg as default.jpg
and I do: identify -verbose default.jpg |grep icc, nothing is returned
If I save http://localhost:8080/bdr:V4CZ5369_I1KG9127::I1KG91270004.jpg/full/2000,/0/default.jpg as defaultMAC.jpg and I do identify -verbose defaultMAC.jpg |grep icc, I get:
icc:copyright: Copyright (c) 1998 Hewlett-Packard Company
icc:description: sRGB IEC61966-2.1
icc:manufacturer: IEC http://www.iec.ch
icc:model: IEC 61966-2.1 Default RGB colour space - sRGB
Profile-icc: 3144 bytes

However, while there is no icc profile in the first case (default.jpeg) there is ICC color profile equivalent Info:
Colorspace: sRGB
  Type: TrueColor
  Base type: Undefined
  Endianess: Undefined
  Depth: 8-bit
  Channel depth:
    Red: 8-bit
    Green: 8-bit
    Blue: 8-bit
etc...

Yes, no color profile is roughly equivalent to sRGB (although embedding the sRGB profile is better). Neither of these are the correct one (Adobe RGB (1998))

so, after a full day of debugging, I have a solution that is not really satisfactory but allows the output images to have at least the correct colors. The changes that need to be made are:

not using the TurboJpeg library for reading, because it can't read the icc profile and completely loses it (that's what's currently happening, Marc I think it doesn't happen on your machine because you're not using the TurboJpeg reader)
using the TwelveMonkeys reader converts the image pixel values to sRGB which is not what we want and slows things down, but at least we have the colors right
we could continue to use the TurboJpeg writer as the output image doesn't need a special icc profile (because it's alraedy converted to sRGB)
OTOH, it also doesn't write any metadata, which is not very good and I think we should measure the performance impact of using the TwelveMonkeys writer so that we can write metadata

We should continue to push things in the direction of embedding the icc profile instead of converting to sRGB, but the behavior seems to be deeply rooted in Java so that will make things hard... more on https://github.com/haraldk/TwelveMonkeys/issues/528

Well, I finally found a way to get what we wanted from the apache commons-imaging API.
This is now implemented in the iiif processing flow, and the first tests show it is working properly.
The ICC profile is read from the bytes coming from S3 or those cached in JCS, then forwarded to the processImage method where the raw Buffered image is associated with it.
I haven't pushed that to ec2 as it requires some cleanup and more testing. As far as I can tell, this forwarding is logically writer independent.

Ok! Can you also add it to the test file please?

sorry, I just saw you did

Ok, I believe this is issue is now fixed. @berger-n Can we close it ?

@MarcAgate I have just noticed that the issue still occurs in iiif-dev
compare zooming in http://library-dev.bdrc.io/scripts/OSD-test-iiif.html (ok)
and in http://library-dev.bdrc.io/scripts/OSD-test-iiif-dev.html (not ok)


docs(README): add gitter link

Pull Request Test Coverage Report for Build 37

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 35:
0.0%

Covered Lines:
191

Relevant Lines:
191

💛  - Coveralls


Adds Register with RHSM - manual path

fixes https://projects.engineering.redhat.com/browse/RHCLOUD-8021
looks like

Looks good to me but I'll let another one of the devs weigh in.

gonna lump https://projects.engineering.redhat.com/browse/RHCLOUD-8023 into this as well

mergin, but @LI0131 n @mhuth still check this out for prosperity n such, gonna be throwin' tickets at yah


Account Builder

PRs:

https://github.com/iotaledger/iota.go/pull/462
https://github.com/iotaledger/iota-core/pull/209


Geon bit master 4.3 font fix

Fix FontDescriptionProcessor had unexpected failure build issue on windows - use specific ttf files instead of relying on installed fonts.
https://community.monogame.net/t/fontdescriptionprocessor-had-unexpected-failure/18110/3
Also note that installed fonts don't work properly on windows since it is unable to resolve the unique 'styles' that Bitstream Vera Sans Mono has (refer to monogame pull request 7993). Using ttf directly avoids all these issues.
MonoGame/MonoGame#7993

The current version has build issues on windows - the content builder comes up with "FontDescriptionProcessor had unexpected failure build".  Installing fonts via right-clicking and Install in Windows Explorer does not fix the issue, at least not in windows 11 - the variants (bold, italic, roman, oblique) are treated as styles of the font family rather than being installed as a font in its own right.  I'm not sure if there's a way in Windows to force it to install the sub-styles as a top level font.  I couldn't find one.
The easiest fix is just to have the content builder use the .ttf file directly.  Refer to https://community.monogame.net/t/fontdescriptionprocessor-had-unexpected-failure/18110/3
I haven't tested this on Linux.

Looks like there's a similar pull request in #138


[S] Change am/pm booking times to 7am - 12pm and Arrive after 12pm

Text on booking page in DUP public need to be changed for AM and PM from 1pm to noon.
Change AM to: 7am - 12pm (depart by 12pm)
Change PM to: Arrive after 12pm
change text on the booking page here:

Acceptance Criteria

1pm is changed to 12pm on booking page
backend logic reflects 12pm as well

this affects what time passes transition from active to expired

Notes

similar to: https://github.com/bcgov/parks-reso-public/pull/210 from last year

Tested on TEST: Pending

Verified that the FE copy changes have been done and are all good.
But, the time that passes expires does not work as expected. I can book AM passes for the current day even after 12 pm and also the passes won't expire after 12 pm.

@JLWade @Christopher-walsh22

I have made some new PRs to address these issues. Users will no longer be able to book AM passes after 12:00 (previously 13:00) through DUP public. AM passes will show as expired after 12:00 (previously 13:00) verified through DUP admin

Thanks @Christopher-walsh22

Tested on TEST: Passed ✅

Verified that this issue has been fixed.
Ready for PO review.

says 12pm on public side - moving to done


Keeps rebooting at 2/38

My phones currently on iOS 12.0 (16A5288q) have been trying to jailbreak i have no OTA updates tried airplane mode, restore root, disabled system daemons, hard resetting but it always fails at exploit 2/38 with no error messages

try reading this:
https://www.reddit.com/r/jailbreak/comments/axiuiu/news_unc0ver_v300b41_was_released_with_the/ehu3249/

Still not working keeps rebooting:/

Using machportal sir and you’re not using the right template...

What iPhone is it? What release are you on? If you're not on b43, then update and attempt jailbreak again.
What unc0ver options do you have enabled? Specifically, the options below Overwrite Boot Nonce.

I have iPhone X it’s on the newest beta of unc0ver options I have enabled are: load tweaks,load daemons, dump apticket, disable auto updates, disable app revokes, overwrite boot nonce, no matter what i try my iPhone still gets stuck at 2/38


MXN fraction is invalid, must be 4

Mexican currency is currently invalid as its fraction is 2, whereas must be 4 required by BANXICO authority.

Hi @maestre3d,
Thanks for noticing this
Repo is open to PRs, please include reference

I am working on it
Please assign this issue to me

Hey @Rhymond
Please review this PR that addresses the issue.
Thanks!


Loader idea: Azure DevOps

Tickets
Code
PRs

I was thinking of adding this as a part of the GitReader. There is already GithubRepositoryReader. All the git-based version controllers expose similar RestAPI. There will be GitHubClient, GitLabClient and AzureDevOpsClient, then you can pass them to GitReader


adds .ignite file for holding version and future config stuff

Please verify the following:

[x] Everything works on iOS/Android
[x] ignite-base ava tests pass
[x] fireDrill.sh passed

Describe your PR
Resolves issue #157 to add Ignite and React Native versions, and adds blank objects for options and plugins for future use.

LGTM 👍


Removed "placegoat.com" (shut down)

Removed "placegoat.com" since it has been shut down. (Source: https://github.com/rosshettel/placegoat)

Oh right, thanks 😄


SSL Certificate verification failed when using HTTPS required in Plex

When the Plex Server is set to "Secure connections: Required" the connection from EMP fails because the certificate is invalid for the IP:
HTTPSConnectionPool(host='<IP_ADDRESS>', port=32400): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: IP address mismatch, certificate is not valid for '<IP_ADDRESS>'. (_ssl.c:1135)")))
Perhaps an option to ignore SSL Certificate can be added in config to prevent this.

In this case i dont, this would also require to set a custom certificate in plex server, alternatively it would require to do a U-turn via a reverse proxy that has the doamin with proper certificate. It would be preferrable to do the connection EMP-PMS internally without requiring any external domains or services. another workaround is using the provided ip.xxx.plex.direct subdomain, though it is unclear if that might change frequently.

Alright, I'll see if I can find a way to solve this problem. I'm not a professional developer; I even used Copilot to write EMP. So, I'm not sure if I can fix it, but I'll give it a try. Do you have to set Secure connections to Required? If you set it to Preferred, this issue shouldn't occur.

Yes the issue only occurs when set to required.

I am not developer either but i think using this option in the request might already solve the issue: response = requests.get(server, headers=headers, verify=False)
if this option can be set via the config file that would be ideal.

Alright, I'll test it when I have time.


Final quiz update

@nilesh32 i had to remove q 15 because it can be used to secure communication between multi clusters.  It is also valid to say secure communication among containers as containers are the actual unit along with the envoy side car that provides the service.

That's a good point


Add Correct Thai words for streets,soi etc names and add Thai First a…

Good afternoon,
This PR adds Correct Thai words for streets,soi etc names and add Thai First and last Names, Female and Male.
It is based on https://github.com/unnawut/thai-names for the Last and First names.
We added the correct names for streetPrefix (street, road, beach, soi etc) and put these words at the right position (before the actual streetname).
Author https://github.com/nutch31 and https://github.com/krittin-58 from my Team here.
Greetings from Bangkok

Thanks @pierrejoye

Thanks my team (and their first OSS contrib :)


Update Solr Ingester connector to ingest Solr 9 documents.

The Solr Ingestor needed a little fix to ingest Solr 9 documents. The "httpmime" dependency was missing from the distribution packaging. With Solr 9, a bug in Date field filling was discovered and fixed. We are using it in our application.
We are currently using these fixes in our application.
I have run "ant test" and all passed except for elasticsearch IT-HSQLDB tests. I get back up until 2.25 and they were already showing the same failures.

Thank you @guylaine-bassette for your contribution, we will consider this for ManifoldCF 2.28 because we don't want to apply any changes to the base code for 2.27 release, this due to the drastic change in the release process.
I have just created another ticket for this:
https://issues.apache.org/jira/browse/CONNECTORS-1760


Adding basic dev container support

A comment in the readme said to consider dockerising... this PR adds dev containers support which will allow people using VS Code for example to do changes inside a container using the same dependencies each time.
Added some basic vscode tasks as well which end up running the standards npm commands. When you npm start your devcontainer will expose port 300 to test locally as you'd normally expect.
Also if they have code spaces this is a smaller image than the default
Read more about devcontainers at https://code.visualstudio.com/docs/remote/containers

Thanks @DevStarOps ! :)


refactor: unify logging handling using umh-utils library

Description
This PR unifies the logger initialization for all services
Fixes #1244
Type of change
Refactor: the code has changed its structure but not its behavior
How Has This Been Tested?
The custom-microservice-tester image builds without errors
Checklist:

[ ] I have made corresponding changes to the documentation
[x] I have made corresponding changes to the changelog (if needed).
[ ] I have made corresponding notices to the upgrade instructions (if needed)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


SSG deployment with out directory and  output: 'standalone' Fail

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
dai8bcvs2xcz2
AWS Region
eu-west-3
Amplify Hosting feature
Build settings
Describe the bug
Hi Dear,
I tried to build and deploy my Nextjs application on SSG mode.
So I changed my artefact directory to out and and export command at build section.
Perfectly working in local but with amplify I have an error at the end of the build after the succeful export.
[INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
[INFO]: # No custom headers found.
[ERROR]: !!! CustomerError: Standalone directory not found in /codebuild/output/src762149162/src/myapp/out/standalone. Please enable output standalone on your next.config.js file or set NEXT_PRIVATE_STANDALONE=true. https://nextjs.org/docs/advanced-features/output-file-tracing#automatically-copying-traced-files
I tried the same config with NEXT_PRIVATE_STANDALONE at false and no output: 'standalone' in my next.config.js but i have the same error. Strange behaviour here, why do i have to set this variable to true and why i have to use standalone output ?
I tried to change the distDir to build folder instead of .next and i get the same error.
Expected behavior
2023-01-22T20:43:40.500Z [INFO]: Export successful. Files written to /codebuild/output/src189766269/src/myapp/out
2023-01-22T20:43:40.509Z [INFO]: # Completed phase: build
2023-01-22T20:43:40.511Z [INFO]: ## Build completed successfully
2023-01-22T20:43:40.512Z [INFO]: # Starting caching...
2023-01-22T20:43:40.523Z [INFO]: # Creating cache artifact...
2023-01-22T20:44:01.952Z [INFO]: # Created cache artifact
2023-01-22T20:44:02.046Z [INFO]: # Uploading cache artifact...
2023-01-22T20:44:06.842Z [INFO]: # Uploaded cache artifact
2023-01-22T20:44:06.916Z [INFO]: # Caching completed
2023-01-22T20:44:06.919Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-01-22T20:44:06.923Z [INFO]: # No custom headers found.
2023-01-22T20:44:18.941Z [INFO]: # Starting environment caching...
2023-01-22T20:44:19.063Z [INFO]: # Environment caching completed
Terminating logging...
Reproduction steps

add out directory in the amplify.yml
deploy nextjs app as SSG with export command after build

Build Settings
version: 1
env:
  variables:
    NODE_OPTIONS: --max-old-space-size=8192
frontend:
  phases:
    preBuild:
      commands:
        - node -v
        - npm i --legacy-peer-deps
        - npm ddp --legacy-peer-deps
    build:
      commands:
        - NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
        - NEXT_PUBLIC_MIDGARD_ENV=$NEXT_PUBLIC_MIDGARD_ENV
        - NEXT_PUBLIC_STRIPE=$NEXT_PUBLIC_STRIPE
        - NEXT_PRIVATE_STANDALONE=$NEXT_PRIVATE_STANDALONE
        - echo $AWS_BRANCH
        - npm run build
        - npm run export
  artifacts:
    baseDirectory: out
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

Log output

# Put your logs below this line
2023-01-25T04:48:14.896Z [INFO]: info  - using build directory: /codebuild/output/src762149162/src/myapp/build
2023-01-25T04:48:14.899Z [INFO]: info  - Copying "static build" directory
2023-01-25T04:48:14.912Z [INFO]: info  - Launching 3 workers
2023-01-25T04:48:14.913Z [INFO]: info  - Exporting (0/19)
2023-01-25T04:48:14.914Z [INFO]: info  - Copying "public" directory
2023-01-25T04:48:21.621Z [INFO]: info  - Exporting (4/19)
2023-01-25T04:48:21.775Z [INFO]: info  - Exporting (9/19)
2023-01-25T04:48:22.007Z [INFO]: info  - Exporting (14/19)
2023-01-25T04:48:22.388Z [INFO]: info  - Exporting (19/19)
2023-01-25T04:48:22.420Z [INFO]: Export successful. Files written to /codebuild/output/src762149162/src/myapp/out
2023-01-25T04:48:22.429Z [INFO]: # Completed phase: build
                                 ## Completed Frontend Build
2023-01-25T04:48:22.432Z [INFO]: ## Build completed successfully
2023-01-25T04:48:22.433Z [INFO]: # Starting caching...
2023-01-25T04:48:22.444Z [INFO]: # Creating cache artifact...
2023-01-25T04:48:45.276Z [INFO]: # Created cache artifact
2023-01-25T04:48:45.397Z [INFO]: # Uploading cache artifact...
2023-01-25T04:48:50.708Z [INFO]: # Uploaded cache artifact
2023-01-25T04:48:50.806Z [INFO]: # Caching completed
2023-01-25T04:48:50.809Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-01-25T04:48:50.813Z [INFO]: # No custom headers found.
2023-01-25T04:48:50.817Z [ERROR]: !!! CustomerError: Standalone directory not found in /codebuild/output/src762149162/src/myapp/out/standalone. Please enable output standalone on your next.config.js file or set NEXT_PRIVATE_STANDALONE=true. https://nextjs.org/docs/advanced-features/output-file-tracing#automatically-copying-traced-files
2023-01-25T04:48:50.817Z [INFO]: # Starting environment caching...
2023-01-25T04:48:50.817Z [INFO]: # Environment caching completed

Additional information
If I let my artefact directory as .next it works, but my application didn't have an SSG behavior but SSR. Indexing time is slow and i have next js hydratation phase as an SSR app.

@richarddzk 👋 , thanks for raising this issue with us and apologies for the delayed response. I was able to successfully revert a Next.js 13 SSR app using the WEB_COMPUTE platform to a SSG app as follows:

Update the app's platform to WEB: aws amplify update-app --app-id <APP_ID> --platform WEB --region <REGION>
Update the branch's framework to Next.js - SSG: aws amplify update-branch --app-id <APP_ID> --branch-name <BRANCH_NAME> --framework 'Next.js - SSG' --region <REGION>
Update the baseDirectory to out in your buildSpec
Modify your app's build script within package.json to "build": "next build && next export"
You will also need to remove this environment variable NEXT_PRIVATE_STANDALONE=true from the console and output: 'standalone' from the next.config.js file
Lastly, i also had to disable the image optimized api in next.config.js:

const nextConfig = {
  reactStrictMode: true,
  images : {
    unoptimized: true,
  },
}


Question: CP-SAT - resolve after updating model

We're considering to use CP-SAT solver in one academic project, as a component of one algorithm.  We'd like to generate one solution at a time, and based on it update the model's constraints and objective function iteratively. Is it possible to do this efficiently, so that the solver does not have to restart from scratch?
I checked the documentation that you can specify the number of requested solutions by aborting the solver: https://developers.google.com/optimization/cp/cp_tasks#solution_limit
If we abort, change the model, and resolve, does it start from scratch, or it improves from the last found solution?
Thanks a lot!

Yes, you can hint the previous solution, see: https://github.com/google/or-tools/blob/master/ortools/sat/doc/model.md#solution-hinting

Thank you for the pointer!


Rename datasets.jl to load_datasets.jl

Fixes #48

there is an include in src/Datasets/Datasets.jl that should be changed as well

GTG

Could we get a patch release so that the ViT PR can go through?


How about add getIncrementing() for HasUlid trait ?

Add getIncrementing for HasUlid trait
...
    public function getIncrementing()
    {
        return false;
    }
...

It make Model more clear
use Illuminate\Database\Eloquent\Model;
use Rorecek\Ulid\HasUlid;

class Item extends Model
{
  use HasUlid;
}

Perfect idea! Thank you very much.


Not warning about the lack of rust-analyzer

Lapce Version
0.2.4
System information
Arch Linux kernel version: 5.15.80-1-lts
Describe the bug
Autosuggestion not working when dealing with some crates (In Rust)
Syntax highlighting just not showing in some cases
The problem?
I fixed it, it was that rust-analyzer was not installed.
The problem with that?
I only found out when I was trying to switch to Helix,
and had to install rust-analyzer via rustup and do a symlink to a directory in PATH from the analyzer binary.
What I suggest?
Adding a prompt warning about the lack of rust-analyzer like other mainstream IDE's instead of just being silently faulty.
Or even installing it automatically.
I had no idea what was wrong with the Rust plugin, I thought the 'sub-par' (Used lightly) performance of its highlighting was 'normal', until I added the missing part by accident and made it work like a champ!
I can now use Lapce without reservation and have had a fantastic experience so far, keep it up!
This is a wonderful project that was badly needed.
I just want other people coming to Lapce for a good Rust environment not be discouraged by its problem when it lacks rust-analyzer.
Sorry if this wasn't the place to report this, as Rust support is a plugin, after all.
Maybe this should have been a feature request, but I thought it more apt as a bug.
Since this is something that should be made aware to the user.

lapce/lapce-rust would be the right place to put this issue, i think

Thanks, will do that and post another issue I had found

I will close this issue since the issue has been cloned to the relevant Rust plugin repo


License Management

This isn't really an issue, so feel free to close if this isn't the appropriate place for this (maybe Mackup is a better place to ask?).
A big part of my use of cask is to automate the set up of new machines, and I have a set of scripts that does that for me. However, the issue I'm running into now is there are a number of apps that have licenses, and I have no way of automating the license set up.
How are others handling this? Is there a way of automating the licensing step of the set up phase?

Closing, as we likely won’t be able to implement this.


Fixed-wing waypoints

Hello and thank you for your repo -- I have been using the quadcopter waypoint environment and the fixed-wing dogfighting environment (an older version I have modified). I am now interested in the fixed-wing waypoints environment and I am finding that I cannot get the aircraft to go toward any waypoint. Even while changing the goal_reach_distance  to really large, the aircraft will still just fly around randomly. I've tried various PPO implementations (distributional value functions, exploration-based critics, etc.), but cannot seem to get the agent to find a waypoint like the quadcopter environment. Typically, I can get the quad to reach all 4 waypoints within ~1M timesteps, but the fixed-wing has been well over 100M with no success. Do you have any recommendation what this might be from or what I might be doing incorrectly? I will have the config below for reference with hypers.
'''Set the environment config -- we can pass the waypoints to train on here'''
env_config = {
    'sparse_reward': False,
    'num_targets':  4,
    'goal_reach_distance': 5.0,
    'flight_mode': 0,
    'flight_dome_size': 100.0,
    'max_duration_seconds': 120.0,
    'angle_representation': "quaternion",
    'agent_hz': 30,
    'render_mode': None,
    'render_resolution': (480, 480),
    # 'landing_waypoints': [[1000, 52.4078, 0], [400, 20.9631, 0], [100, 5.2408, 0], [0, 0, 0]],
}

config = PPOConfig().training(
    gamma = 0.99,
    lambda_ = 0.95,
    # kl_coeff = 0.5,
    num_sgd_iter = 15,
    lr_schedule = [[0, 0.0003], [15_000_000, 0.00025], [30_000_000, 0.0002], [50_000_000, 0.0001]],
    vf_loss_coeff = 0.5,
    # vf_clip_param = 15.0,
    clip_param = 0.2,
    grad_clip_by ='norm',
    train_batch_size = 100_000,
    #new api removes "sgd" and is just minibatch_size
    minibatch_size = 20_000,
    grad_clip = 0.5,
    model = {'custom_model': 'ClampedCritic',
           'vf_share_layers': False,
           'fcnet_hiddens': [256,256],
           'fcnet_activation': 'LeakyReLU',
            }
).environment(env = 'WaypointsCustomEnv-v0', env_config = env_config
).rollouts(
num_rollout_workers = 28
).resources(num_gpus = 1
)

algo = config.build()

num_iterations = 500
results = []

for i in range(num_iterations):
    result = algo.train()
    print(f"Iteration: {i}, Mean Reward: {result['env_runners']['episode_reward_mean']}")
    results.append([result['env_runners']['episode_reward_mean'], result['env_runners']['episode_len_mean']])

results_df = pd.DataFrame(results)

ray.shutdown()

Thanks for bringing this up! I think something is definitely wrong, 100M steps is a lot! I'll look at this later but pinging here just to keep you updated.

So for whatever reason, it looks like the self.sparse_reward flag was being set to a dictionary, so the agent was only ever seeing -0.1 for each timestep. I changed this to False as a means of overriding and now it is accessing the the non-sparse rewards. Not sure if I had inherently done this on my end, but this might be a source for you to glance at to see if it works as intended for you.
sparse_reward inside compute_term_trunc_reward: {'sparse_reward': False, 'num_targets': 1, 'goal_reach_distance': 5.0, 'flight_mode': 0, 'flight_dome_size': 20.0, 'max_duration_seconds': 120.0, 'angle_representation': 'quaternion', 'agent_hz': 30, 'render_mode': None, 'render_resolution': (480, 480), worker=1/5, vector_idx=0, remote=False}

This definitely helped as now the agent learns within a few million timesteps. Thanks!

update: this does indeed seem to be my fault! I forgot to unpack the config args **config while registering the env. with RLLIB. My apologies!
(If future folks have an issue I had):
def env_creator(config):
    env = FixedwingWaypointsEnv(config)
    env = FlattenWaypointEnv(env)
    return env
register_env('FixedwingWaypointsEnv-v0', env_creator)

vs.
def env_creator(config):
    env = FixedwingWaypointsEnv(**config)
    env = FlattenWaypointEnv(env)
    return env
register_env('FixedwingWaypointsEnv-v0', env_creator)


Found the bug on windows when running a video

After pasting a link into the app window, there are no controls over the video, like play/pause. The video just continue running without any control bar. I will try to fix it

Found in the code the controls for pausing and playing a video. Suggestion to put the instractions into Readme.md


VariableNaming not working after 1.0.0.RC5-6

Expected Behavior
When running detekt I expect it shows something on the report regarding style/VariableNaming
Current Behavior
The check runs successfully after the 1.0.0.RC5-6
Steps to Reproduce (for bugs)
Configure the detekt.yml file to this:
VariableNaming:
    active: true
    variablePattern: '(?![ms]{1}[A-Z]{1})[A-Za-z0-9]*'
    privateVariablePattern: '(_)?(?![ms]{1}[A-Z]{1})[A-Za-z0-9]*'

run ./gradlew detektCheck with any release after 1.0.0.RC5-6
You can set
build:
    warningThreshold: 1
    failThreshold: 1

or
build:
    maxIssues: 1

Then have a kotlin file as such
class MyKotlinFile {
    val mBlah = true
}

Context
My goal is to make the check fail If I have something declared in hungarian notation style
Your Environment

Version used: 1.0.0-RC6 to 1.0.0-RC7
Operating System and version: macOS 10.13.4

First, thanks @schalkms for the help. There are few things that I don't think that are clear because I wasn't clear. The '^(?!m[A-Z])[A-Za-z]*' won't work because as I said I'm trying to make my build fail If I have variables declared in a hungarian notation style such as mBlah and sBlah so '^(?![ms][A-Z])[A-Za-z]*' is probably the one regex I'm looking for.
However, that's not all, using the new regex I was able to make the build fail in version 1.0.0-RC5-6 and 1.0.0-RC6-2 but not in version 1.0.0-RC6-3 and 1.0.0-RC7
Either this remains as a regex issue or as variable name rule set issue. My hypothesis is that variable name rule set has some issue, so I've changed my regex to [0-9]. This makes my build fail under 1.0.0-RC6-2 but not 1.0.0-RC6-3, 1.0.0-RC6-4 and 1.0.0-RC7. I really think we should re-open this issue.

You are right. I quickly tested this regex for your example. You have to add all the prefixes in the hungarian notation.
Thanks for the clarification. I'll take a look at the history, but I can't think of any relevant changes. We are using the standard regular expressions from the Java library.
Anyway, with the provided regex stub you can make the build fail with your example. I tested it with the latest detekt version.

I investigated the issue by looking at the history. We added the excludeClassPattern config option and nothing else. What did you set for the config option excludeClassPattern?
Do you have any idea @arturbosch ?

I had nothing as excludeClassPattern because I was using an older version of the detekt-config.yml I've updated it and works awesomely!
I'm gonna pay more attention during updates, thanks for all the help. Feel free to close the issue.

Glad that I could help
Closing this now..


Issue with "kubelet could not be started on master" caused by expired certificate

Here is the case:

I used kubeadm to start a k8s cluster(1.23.5, with one master and 3 nodes, all as VM)
Everything worked well
I shut down the all the VM(master,3 nodes) for more than one year
One year later, I want to resume the cluster
How ever, on master, kubelet could not be started, the following is the log
I use "kubeadm certs renew all" to renew all  expired certificates
From K8s Doc, the certificate in kubelet.conf could not renew/modified by kubeadm
As a result, the kubelet on master node could not be started and the whole cluster cannot be started(because kubelet needs to run to start the apiserver/controller manager/scheduler, in "/etc/kubenetes/manifests")

The document says:
"From a working control plane node in the cluster that has /etc/kubernetes/pki/ca.key execute kubeadm kubeconfig user --org system:nodes --client-name system:node:$NODE > kubelet.conf. $NODE must be set to the name of the existing failed node in the cluster. Modify the resulted kubelet.conf manually to adjust the cluster name and server endpoint, or pass kubeconfig user --config (it accepts InitConfiguration). If your cluster does not have the ca.key you must sign the embedded certificates in the kubelet.conf externally."
BUT, I don't have a working control plane here.
The following is the log:
Sep  7 15:46:04 ubuntu systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 2179.
Sep  7 15:46:04 ubuntu systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
Sep  7 15:46:04 ubuntu systemd[1]: Started kubelet: The Kubernetes Node Agent.
Sep  7 15:46:04 ubuntu kubelet[37729]: Flag --network-plugin has been deprecated, will be removed along with dockershim.
Sep  7 15:46:04 ubuntu kubelet[37729]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
Sep  7 15:46:04 ubuntu kubelet[37729]: Flag --network-plugin has been deprecated, will be removed along with dockershim.
Sep  7 15:46:04 ubuntu kubelet[37729]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
Sep  7 15:46:04 ubuntu systemd[1]: Started Kubernetes systemd probe.
Sep  7 15:46:04 ubuntu kubelet[37729]: I0907 15:46:04.166600   37729 server.go:446] "Kubelet version" kubeletVersion="v1.23.5"
Sep  7 15:46:04 ubuntu kubelet[37729]: I0907 15:46:04.166836   37729 server.go:874] "Client rotation is on, will bootstrap in background"
Sep  7 15:46:04 ubuntu kubelet[37729]: E0907 15:46:04.167605   37729 bootstrap.go:265] part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2023-03-18 17:01:56 +0000 UTC
Sep  7 15:46:04 ubuntu kubelet[37729]: E0907 15:46:04.167656   37729 server.go:302] "Failed to run kubelet" err="failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory"
Sep  7 15:46:04 ubuntu systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
Sep  7 15:46:04 ubuntu systemd[1]: kubelet.service: Failed with result 'exit-code'.
Sep  7 15:46:04 ubuntu systemd[1]: run-r81a8f7a938c8424c9775f917d1b7e141.scope: Succeeded.

There are lot of updation happened after v1.23.5
Please update to latest kubeadm and check the issue.
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

"From a working control plane node in the cluster that has /etc/kubernetes/pki/ca.key execute kubeadm kubeconfig user --org system:nodes --client-name system:node:$NODE > kubelet.conf. $NODE must be set to the name of the existing failed node in the cluster. Modify the resulted kubelet.conf manually to adjust the cluster name and server endpoint, or pass kubeconfig user --config (it accepts InitConfiguration). If your cluster does not have the ca.key you must sign the embedded certificates in the kubelet.conf externally."

BUT, I don't have a working control plane here.

you can still be able to call the kubeadm commands on it.
either way this is a support request.
a better place to ask would be on the support channels and channels like #Kubeadm on k8s slack. please see:
https://git.k8s.io/kubernetes/SUPPORT.md
/close
/kind support
/kind support
/close


[FEATURE] Homepage alert/notice to make users aware of important information

Description

We have an existing alert component, could this be used components/Alert.js
Load app notifications from config/app.json (multiple, so loop over them)
Display on the homepage only

json example
{
   // ...
   "alerts": [
      {
         "type": "warning",
         "message": "... ..."
      }
   ]
}

Screenshots
No response
Additional information
No response

I can give it a shot...

Can you please assign me this issue .

May I go ahead with this issue?

I am happy to work on this issue. please assign it to me.

I can give it a shot...

@NiazMorshed2007 I have assigned this to you as you were the first to request here in this Issue.


code question

When I run your code, there is an error.
The plotly.plotly module is deprecated,
please install the chart-studio package and use the
chart_studio.plotly module instead.

Apparently, this error appears with Plotly version 4. I fixed it by downgrading to 3.10.0.
pip3 install plotly==3.10.0


Browser console log issues. Closes #4791

Closes #4791

Fix order of Hooks in AsciinemaPlayer component.
useColorMode().setDarkTheme is deprecated. Using useColorMode().colorMode === "dark" instead.

Thanks @Saurabh7019 for another awesome PR. We will review it ASAP

Merged manually. Thank you! 👏

Awesome work @Saurabh7019!


Failing on Python 2.7 - imports

Two things to fix:
(1) Recursive imports
from .arma import *

File "C:\Users\RossTaylor\AppData\Local\Continuum\Anaconda2\envs\myenv\lib\site-packages\pyflux\arma_init_.py", line 1, in
from .arma import ARIMA
File "C:\Users\RossTaylor\AppData\Local\Continuum\Anaconda2\envs\myenv\lib\site-packages\pyflux\arma\arma.py", line 11, in
from .. import families as fam
File "C:\Users\RossTaylor\AppData\Local\Continuum\Anaconda2\envs\myenv\lib\site-packages\pyflux\families_init_.py", line 1, in
from .cauchy import Cauchy
File "C:\Users\RossTaylor\AppData\Local\Continuum\Anaconda2\envs\myenv\lib\site-packages\pyflux\families\cauchy.py", line 5, in
from .. import families as fam
Need to import families directly in each file.
(2) GASModels
Are importing an old file (gasmodels) - needs to be removed

This appears to be resolved now, so closing.


Add custom future type, ResponseFuture, for HTTP responses

Closes #1831
This is a long one, but I really wanted to try and lay out all the details of the change
This PR introduces a new type, ResponseFuture, which is intended to be returned by service client APIs. For example:
impl ContainerClient {
    fn read(
        &self,
        options: Option<ReadContainerOptions>,
    ) -> azure_core::ResponseFuture<ContainerProperties>;
}

The Response<T> type has been simplified dramatically. It is now a plain-ol data object containing the status code, headers, and "body" (which is of type T). The default value of T is ResponseBody, which is our existing type that wraps a "Pinned Stream" representing an asynchronous stream of bytes coming from the transport.
How is ResponseFuture different to the user?
Our current service client methods return impl Future<Output = Result<Response<T>, Error>>. However, in the current code, Response<T> is itself a promise as well. It does not contain a fully downloaded and deserialized HTTP response body, only the promise of one, when deserialize_body is called. By default, a ResponseFuture<T>, when directly awaited, will execute the request, receive the status code and headers, download the body, and deserialize it into a T. I believe this represents the "majority" of use cases, which means we can turn our current long chain of method calls:
let response = secret_client.get_secret("secret_password")
    .await?.
    .deserialize_body()
    .await?;
println!("Secret Value", response.into_body().value);

Into just one await:
let response = secret_client.get_secret("secret_password").await?;
println!("Secret Value", response.into_body().value);

In a situation where most users want to read the body (if there is one) into the default model provided by the service client, this is much more ergonomic. It also removes the need for the Model trait, since the service client gave the ResponseFuture a closure it could use to perform the deserialization.
What about more advanced scenarios?
While I believe eagerly reading and deserializing the body is the majority case, it is not a good approach in all cases. Consider, for example, that Cosmos DB often returns the full JSON of a newly-created item. Often, the user doesn't need this since they just created the item (in fact, we even provide a request header to stop the server from sending the new item in the response). Or consider an API that returns a large payload, but also includes some response headers that the user may want to use to decide if it even wants to download that whole payload. Or any other case where the user wants to download the response headers but defer downloading the body until later. Until the ResponseFuture is  awaited, it only represents the promise of a future response, and the user has the ability to modify it's behavior using methods on ResponseFuture.
Calling .lazy() will change the ResponseFuture into an impl Future<Output = LazyResponse<T>> which executes the requests and processes the response headers, but does not process the body until LazyResponse::into_body is called.
Calling .raw() will change the ResponseFuture into an impl Future<Output = Response<ResponseBody>>, in effect removing the deserialization logic so that the returned value will be a Response<ResponseBody>. That gives the user the ability to download the body and deserialize however they want[^1], including deserializing it to a custom type:
#[derive(Debug, Deserialize)]
struct MyCustomSecret {
    #[serde(rename = "name")]
    pub my_custom_name: String,
    #[serde(rename = "value")]
    pub my_custom_value: String,
}
let response = secret_client.get_secret("secret_password").raw().await?;
let raw_body = response.into_body();
let secret: MyCustomSecret = raw_body.json().await?;

How does a service client create a ResponseFuture?
Rather than being async fns that return Result<Response<T>>, service client methods should be non-async fns that return ResponseFuture<T>. The main pipeline's send method returns a ResponseFuture<T>, so for most client methods that are assembling a request, sending it, and returning the resulting ResponseFuture<T>, there's no need for the client method itself to be async. In the less common event that a client needs to perform follow-up work after a response is received that cannot be achieved using a custom Policy, we have ResponseFuture::new which allows a caller to synthesize a ResponseFuture out of any other future that returns a Result<Response>.
ResponseFuture<T> represents the promise of a Response<ResponseBody> (a raw HTTP response) to come at a future time and the ability to deserialize that raw body to a T when it does arrive. The send method on the pipeline returns ResponseFuture<ResponseBody> (i.e. a promise for a future Response<ResponseBody> representing a raw, unparsed, HTTP body, with no deserialization logic). From there, service client methods can call ResponseFuture::json and ResponseFuture::xml to convert that "raw" ResponseFuture into one that deserializes the body into their target type. For example:
impl ContainerClientMethods for ContainerClient {
    fn read(
        &self,
        options: Option<ReadContainerOptions>,
    ) -> azure_core::ResponseFuture<ContainerProperties> {
        let req = Request::new(self.container_url.clone(), azure_core::Method::Get);
        self.pipeline
            .send(Context::new(), req, ResourceType::Containers)
            .json() // Convert `ResponseFuture<ResponseBody>` to `ResponseFuture<ContainerProperties>` using JSON
    }
}

Boxes. Boxes Everywhere.
The main downside is the liberal use of boxing and dynamic dispatch. We Box the future that performs the request, we Box a closure to deserialize the body, which itself returns another Boxed future representing the downloading and deserialization of the body. I did this because I wanted to avoid having to have per-operation types. If we want to optimize out the boxing, we have another option.
We would turn ResponseFuture<T> into a trait, intended to be used via impl Trait syntax, and use macros to have each service client return its own custom struct that implements ResponseFuture<T>. Those client methods would look something like this:
impl ContainerClientMethods for ContainerClient {
    fn read(
        &self,
        options: Option<ReadContainerOptions>,
    ) -> impl azure_core::ResponseFuture<ContainerProperties> {
        // This macro expects async code that returns a raw response
        // The "actual" deserialization to JSON can't be done inside the code block
        // because we need to be able to defer it when "raw" is called
        response_future!(Json, {
            let req = Request::new(self.container_url.clone(), azure_core::Method::Get);
            self.pipeline
                .send(Context::new(), req, ResourceType::Containers)
                .await
        });
    }
}

In that approach, the type the macro generates would able to be fully static and avoid boxing altogether. I'm open to that idea, and returning custom futures is what the unofficial client does so there's some prior art there. It's just a lot of custom types. Having said that, these types wouldn't have to be public, they could be defined in the method itself and returned as impl Trait types so that the user doesn't actually see them.
Ownership of Context and Request
Another call I made here was to change the Pipeline::send methods to take the context and request by-value instead of taking references. That isn't totally necessary. But it allows service clients to just call Pipeline::send and give it all the necessary data that needs to be stored in the closure used by ResponseFuture. Without taking those values by-value, the service client method would have to create an async closure manually, using ResponseFuture::new.
It felt reasonable to me for the pipeline to take those values. I recognize why Policies don't receive those by value (since policies may be executed multiple times on the same Context/Request pair) but it seemed from my reading that Context and Request were not intended to be shared across multiple separate requests.
[^1]: In this case, the user is expected to call ResponseBody::json() or ResponseBody::xml() manually. I wasn't a fan of that when it was in the primary use-case, but I'm OK with it when the user has explicitly decided to handle processing the response themselves.

Re-drafting this. Hitting some snags around dealing with requests with bodies. With the current changes, because the functions all return ResponseFuture<T> instead of being async functions returning Result<...>, it's difficult to do asynchronous or fallible things before sending the request, because there's no support in Rust for custom "Future-likes" or "Result-likes" at this time. It's still completely possible to write the necessary code, but you have to wrap it in ResponseFuture::new manually and things get messy with lifetimes fast. I'll keep poking at it though. This isn't blocking, but I think the ideal of getting the 80% scenario to a single .await? is worth pursuing if we can.

We should be able to do Future-likes, I thought, right? We just have to implement IntoFuture<>. As for custom Result-likes, I've been watching try_trait_v2 for a couple years and it seems like maintainers are just bike shedding over names when the community seems largely unified on "just go with FromResidual like you have now and release it". 😔

We should be able to do Future-likes, I thought, right?

Not quite. Anything that implements IntoFuture can be .awaited. The problem is constructing the future out of an async fn. From what I can see, there's no way to turn an arbitrary async fn into a custom Future-like. There's no equivalent to AsyncMethodBuilder in C#, that I can find.

I've been watching try_trait_v2 for a couple years

Same, and it's frustrating to see it languish so long.

Basically, the problem we have here is that creating a ResponseFuture requires two things:

A boxed async closure to perform the actual request (including any "pre-flight" requests[^1], if your API requires that) and get the final response
A boxed async closure to read and deserialize the response body, which has to be separate so that .lazy() can resolve the first future while deferring the deserialization.

I'm going to keep poking and see if I can find a clean way to do this. I'm not a huge fan of every service client having to look like this:
async fn replace_item<T: Serialize>(
    &self,
    partition_key: impl Into<PartitionKey>,
    item_id: impl AsRef<str>,
    item: T,
    options: Option<ItemOptions>,
) -> azure_core::ResponseFuture<T> {
    // Create the response future to return the raw response body
    // ResponseFuture::new expects an async closure returning Result<Response>, so fallible and async operations can be done here
    let raw_response_future = ResponseFuture::new(async {
        let url = self
            .container_url
            .with_path_segments(["docs", item_id.as_ref()]);
        let mut req = Request::new(url, azure_core::Method::Put);
        req.insert_headers(&partition_key.into())?;
        req.set_json(&item)?;
        self.pipeline
            .send(Context::new(), &mut req)
            .await
    });

    // Attach the JSON deserializer and return it.
    raw_response_future.json()
}

But if we're OK with that, I think we can work with something. Though when I did that, I started hitting lifetime issues around capturing the function parameters that might start to proliferate named lifetimes, which I'd really prefer not to do 😵.
I'll keep working a bit on it. It's not blocking my Cosmos work, it's just motivated by my desire to get the 80% scenario down to a single .await?.


Remove event loop spamming when new event arrives

new_event method is called when a new event arrives on an event loop. Putting new event (in this case BlitzEvent::Poll) on the same event loop from this method causes this method to be called again. This ends up spamming event loop, 100% CPU utilization on some operating systems, and makes the poll "spin".

This makes sense. Which platform(s) are you seeing the high CPU usage on?

I have 100% CPU usage on a single core on Linux wayland. I already brought that up on Discord before.
https://discord.com/channels/899851952891002890/954257659597553664/1272540988057063525
https://discord.com/channels/899851952891002890/954257659597553664/1272824155674251357


Sort Projects by last_push

Projects should be sorted by default on last_push (with most recent on top).
In both the Projects table and Brigade table. The order should remain when filtering (if possible, keep it also when sorting meaning that if I sort by number of issues or brigade, still good to show projects sorted).

Deployed with PR #160.


node index.js ERROR

getting this error when running node index.js for the last step tried closing terminal and going to the directory again but no luck any tips?

same

There have been no changes in the core program for 10 months. If you correctly follow the guide, everything works. I tested this numerous times on real hardware as well as in a virtual machine.

I just completely redid my download a few months ago on a new SD and had no issues installing it. I recommend just copy/pasting the info into your command window rather than trying to type it out, key by key, as you open up the chance of errors with that.

I copied the commands on a fresh install. I always use SSH.

I had the same error, the /dev/hidg0 was missing. I reinstalled from scratch, configured wifi from the Imager and just added the ssh file on the sd. I connected via ethernet wish ssh, ran all commands in order and it worked fine.
check after reboot the /dev/hidg0 exists


UX Research - MCFD Team - Gathering Requirements for onboarding - Sessions & Report Out

Title of ticket: UX Research - MCFD Team - Gathering Requirements for onboarding - Sessions
Description
Summarize issue
Dependencies
Are there any dependencies?
DOD

[ ] List the items that need to be complete for this ticket to be considered done
[ ]
[ ]
[ ]
[ ]

Complete and report out conducted


api helm charts

wic api helm charts

Minimized both wic cli and wic api docker images (using debian as a base image and cleaning up after building steps)
Updated restapi dependencies
fixed steps keys format

Added docker compose file for local api dev

I think any PR which adds code in a new language should add a linting step for it into the CI. We can merge this PR, but let's add helm linting soon.


Wait for the component to be in view before rendering

Hello,
In my use case, I have a single, long page, with the google map component at the very bottom. I'd like to only initialize the map once it is in view to speed up the initial page load. I had the same use case in an older project (with simple Jquery) and the results were astounding.
Is it possible?
Thank you

When you say in view, you mean the component is visible in the viewport?
If so, you should get control of the scrolling, and use the state to initialise your map only when the map component enters the viewport.
There are many utility components that help with this in react: react-visibility-sensor, react-component-visibility.

When you say in view, you mean the component is visible in the viewport?

Indeed. However, is there a prop to this end in react-google-map? Knowing I use the async/withScriptjs variant, something along the lines of:
<AsyncGettingStartedExampleGoogleMap
...
ready={this.state.Visible}
...
/>

And as for the view utility component, this isn't an issue. I already have it working with other components.

So basically you would like to load at page load, but showing it only, when it enters the viewport?

Also what version are you using?

Yes, exactly. I am using the beta, v6.0.

I would suggest just hide the root component with css. And show it once the component becomes visible.

I would suggest just hide the root component with css. And show it once the component becomes visible.

In fact what I'm trying to avoid here are the initial google maps requests, both the js file and countless other requests. In fact, the number of initial requests on first page load went from something like 30 to 65/70 when adding the map component, and that here is what I'm trying to avoid. I've noticed in older projects that initializing the map only once it is in view did wonders to the initial page load, and that's what I'm trying to emulate here.
I'll look into appending React components dynamically (e.g: when container is in view, append the map component, something like that). If I find a viable solution I'll update this issue for posterity.

Since this is not a problem with the map. I will close this issue.

A typical approach would be wrapped this container is in view logic into an HOC:
const whenInView = (WrappeedComponent) => {
  return class X extends React.Component {
    // implement state changes for `isInView`
    render() {
      return this.state.isInView ? <WrappeedComponent {...props} /> : null
    }
  }
}

const GoogleMapComp = withGoogleMaps((props) => /* <GoogleMap … /> */)
const Map = whenInView(GoogleMapComp)

ReactDOM.render(<Map />, document.getElementById('root'));

It makes sense, we can change the state using any jQuery plugin or similar


Data retrieval error for sciserver-files

Retrieving data of around 3.6 Gigabytes from sciserver-files fails with the following error:
Data retrieval failed for data: FetchError: Could not create Buffer from response body for https://apps.sciserver.org/fileservice/api/file/Storage/utimalsina/AstroResearch/OriginalDataset/sdss-data-50000.npz: The value of "length" is out of range. It must be >= 0 && <=<PHONE_NUMBER>. Received<PHONE_NUMBER>

The most direct way to fix this would probably be to update the storage adapter API so getFile returns a ReadableStream rather than a Buffer. Similarly, putFile should probably accept a ReadableStream for the file input (or perhaps adding support for a ReadableStream but not requiring it).
Taking a quick look at the codebase, the following files would need to be updated:
- [ ] common/plugin/LocalExecutor.js
- [ ] common/storage/index.js
- [ ] common/plugin/GeneratedFiles.js
- [ ] plugins/UploadArtifact/UploadArtifact.js
- [ ] common/storage/backends/StorageClient.js
- [ ] plugins/GenerateJob/templates/run-debug.js
- [ ] plugins/GenerateJob/templates/start.js
- [ ] routers/InteractiveCompute/job-files/start-session.js
- [ ] gme client
- [ ] sciserver-files client
- [ ] s3 client

For the SciServer Files adapter, this will likely mean moving to returning response.body as described at https://developer.mozilla.org/en-US/docs/Web/API/Body/body.

This issue should be handled as the following:

Extend the BlobClient to handle streams (to be upstreamed to webgme-engine)
Extend the Storage Clients to handle streams. One catch here is with the S3 Storage Client and using non-file streams (See https://github.com/aws/aws-sdk-js/issues/1157) and should be resolved by s3.Upload() method.
Change the Plugins to use getStreams whenever possible.


Fork / Branch / PR Methodology

Spell out how the team expects contributions to happen.  E.g. PRs are only accepted from forks, feature branches should be named in a certain way, etc.

We need to revisit this and document the approach a bit better.


Feature Request - Add rclone support

Though it is easy to install, it would be great to have it as an option, possible?

Yep shouldn't be a problem. thanks for the suggestion.

Hi, Sorry I've not got around to adding this yet.
I've now moved the feature requests over to Feathub
Could you please vote for this there so we can start getting a feel for what people would like to be worked on next.
Thanks