Same conversation ID being generated for a user when they message for second time via Skype channel

Bot Info

SDK Platform: Node.js
SDK Version: v3
Active Channels: Skype
Deployment Environment: Azure Bot Service

Issue Description
same value of message.address.conversation.id is being generated whenever a user comes back and chats again via skype channel (not business). The previous chat is ended using session.endConversation  before he comes back and chats again.
I'm using Mongo Db to store user conversations. The user has logged into skype using the web control generator explained here https://dev.skype.com/webcontrol
Expected Behavior
Everytime a user chats via skype channel, i want a new conversation ID to be generated even if the same user comes back (provided the previous chat is ended). Why I want this is because in the middleware code (node modules/botbuilder-handoff/handoff.js) provided by MS
(const conversation = yield this.getConversation({ customerConversationId: message.address.conversation.id }, message.address);)
creates a new DB object whenever a new/unique conversation ID is being encountered. But in my case same conversation ID is being generated due to which user's transcript is being appended to the old DB object. I want a new Db object created based on conversationId whenever a user starts chat via skype.
Actual Results
message object from console:
{ text: 'hi',   type: 'message',   timestamp: '2018-07-11T12:12:38.86Z', [ { locale: 'en-US',        country: 'US',        platform: 'Windows',        type: 'clientInfo' } ],   sourceEvent: { text: 'hi' },   attachments: [],   address:    { id: '1531311158852',      channelId: 'skype',      user: { id: '29:1LAFIMGBY8uSW9-Nf9jfHnAGiS-6qUT0zq9NYjxcEvu8' },      conversation: { id: '29:1LAFIMGBY8uSW9-Nf9jfHnAGiS-6qUT0zq9NYjxcEvu8' },      bot:       { id: '******',         name: '******' },      serviceUrl: 'https://smba.trafficmanager.net/apis/' 	 },   source: 'skype',   agent: 'botbuilder',   user: { id: '29:1LAFIMGBY8uSW9-Nf9jfHnAGiS-6qUT0zq9NYjxcEvu8' } }
Stored Database object:
	"_id" : ObjectId("5b3b390139994f2f40fa74ca"), 	"customer" : { 		"serviceUrl" : "https://smba.trafficmanager.net/apis/", 		"bot" : { 			"name" : "*******", 			"id" : "*******" 		}, 		"conversation" : { 			"id" : "29:1LAFIMGBY8uSW9-Nf9jfHnAGiS-6qUT0zq9NYjxcEvu8" 		}, 		"user" : { 			"name" : "Shilpa A R", 			"id" : "29:1LAFIMGBY8uSW9-Nf9jfHnAGiS-6qUT0zq9NYjxcEvu8" 		}, 		"channelId" : "skype", 		"id" : "1530607871887" 	},
Screenshot from MongoDB - all the chats for this user is being appended to the same DB object

I'm not able to figure out why this is happening.
Also, on another observation i found that user ID and conversation ID are same for skype channel - is this normal ?

Hi ashi1702,
What you have listed as your issue is actually the expected behavior of a Skype channel bot. link
The Skype channel persists conversation data with the same user between sessions - conversation data is initiated when the user adds the bot to contacts, as opposed to each time the conversation starts.
If you're interested in having your bot delete the data every time the conversation ends, I've found some helpful information here. You can use this to delete the conversationData from you db if the user hasn't spoken to the bot for a set amount of time.

Hi Corinagum,
Thanks for your prompt reply!
I did check the https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-state?view=azure-bot-service-3.0 that tells about state data. These have already been handled in my bot code, is there any other link which explicitly tells about Skype channel state data ?
Also, I don't want to delete the data every time the conversation ends, in-fact I want a unique entry every time a conversation starts. What would be the best approach to do this ? I need to use this to display bot metrics about total conversations happening via different channels.
Thanks!

Hey ashi1702,
I'm sorry to say that there doesn't seem to be any documentation explicitly explaining that Skype channel handles the conversationID as being the userID. I have found a few links that anecdotally point this out though.
Build Skype bot with Bot Framework

The “29%3A1iFtpwQ…” in the uri fragment (which is url-encoded) is the conversation id. When your bot is sending the message to some user, this conversation id is the user id itself.

(emphasis mine)
Question: Inconsistent Conversation IDs for Skype

... the takeaway is that Skype conversationIds are not reliable and we should not use it to store BotData. ... PS: As a workaround we ignore the conversationId Skype sends back and use the users id, but that will fail when/if Skype changes the way they create/handle conversationIds.

How to get conversationID for sending Skype message

It's possible to obtain conversationId by sending /get name to specified group chat (doesn't work for 1-1 chats), answer will be like this<EMAIL_ADDRESS>
Hope that helps.


Getting Required dependency file not found

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.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
d1jlh2fb5j9l38
AWS Region
us-east-1
Amplify Hosting feature
SSR
Frontend framework
Next.js
Next.js version
13.3.1
Next.js router
App Router
Describe the bug
2023-07-25T08:16:18.184Z [INFO]: # Starting phase: preBuild
# Executing command: echo "Skip pre build - already handled"
Skip pre build - already handled
# Completed phase: preBuild
# Starting phase: build
# Executing command: echo "Skip build - already handled"
Skip build - already handled
# Completed phase: build
2023-07-25T08:16:18.186Z [INFO]: ## Build completed successfully
2023-07-25T08:16:18.188Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-07-25T08:16:18.190Z [INFO]: # No custom headers found.
2023-07-25T08:16:19.563Z [ERROR]: !!! CustomerError: Required dependency file not found: /codebuild/output/src1141702021/src/amplify-deployment/node_modules/webpack/lib/ModuleFilenameHelpers.js
2023-07-25T08:16:19.563Z [INFO]: # Starting environment caching...
2023-07-25T08:16:19.564Z [INFO]: # Environment caching completed
Terminating logging...
Expected behavior
Amplify shouldn't expect for existence of webpack related stuff once build finished
Reproduction steps

Push on the CodeCommit a .next folder with already build artifacts + amplify.yml + package.json
Trigger a new build and notice the problem

Build Settings
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - echo "Skip pre build - already handled"
    build:
      commands:
        - echo "Skip build - already handled"
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'

Log output

2023-07-25T08:16:18.184Z [INFO]: # Starting phase: preBuild
                                 # Executing command: echo "Skip pre build - already handled"
                                 Skip pre build - already handled
                                 # Completed phase: preBuild
                                 # Starting phase: build
                                 # Executing command: echo "Skip build - already handled"
                                 Skip build - already handled
                                 # Completed phase: build
2023-07-25T08:16:18.186Z [INFO]: ## Build completed successfully
2023-07-25T08:16:18.188Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-07-25T08:16:18.190Z [INFO]: # No custom headers found.
2023-07-25T08:16:19.563Z [ERROR]: !!! CustomerError: Required dependency file not found: /codebuild/output/src1141702021/src/amplify-deployment/node_modules/webpack/lib/ModuleFilenameHelpers.js
2023-07-25T08:16:19.563Z [INFO]: # Starting environment caching...
2023-07-25T08:16:19.564Z [INFO]: # Environment caching completed
Terminating logging...

Additional information
1 day ago everything worked fine and amplify didn't complain about missing things inside node_modules. I don't sure what happened under the hood

Now I made a tweak to include node_modules and I see the following error:
                                 # Starting phase: preBuild
2023-07-25T09:13:40.003Z [INFO]: # Executing command: echo "Skip pre build - already handled"
                                 Skip pre build - already handled
                                 # Completed phase: preBuild
                                 # Starting phase: build
                                 # Executing command: echo "Skip build - already handled"
                                 Skip build - already handled
                                 # Completed phase: build
2023-07-25T09:13:40.005Z [INFO]: ## Build completed successfully
2023-07-25T09:13:40.007Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-07-25T09:13:40.008Z [INFO]: # No custom headers found.
2023-07-25T09:13:42.149Z [ERROR]: !!! CustomerError: Required dependency file not found: /codebuild/output/src3013346407/src/amplify-deployment/src/components/languages/cn.json
2023-07-25T09:13:42.150Z [INFO]: # Starting environment caching...
2023-07-25T09:13:42.150Z [INFO]: # Environment caching completed
Terminating logging...

It seems to amplify is using a different relative path - I think it should use .next/standalone as a base dir

cc @ferdingler
Now I made as well test build where .next/standalone folder doesn't exist and the build passed.
Something like that wasn't possible in the past https://github.com/aws-amplify/amplify-hosting/issues/3132 ...

@arturkasperek I'm sorry you ran into an issue.
For background
We indeed made a change internally to stop relying on the standalone mode from Next.js for several reasons, for example, it doesn't work with certain Monorepo frameworks, and there has been regressions introduced by the Next.js team to the standalone mode that end up affecting our customers.
The standalone mode was a convenient way to generate a trimmed down version of the node_modules folder that contains only the necessary dependencies used at runtime, and nothing else. But now we are building this folder ourselves by reading the contents of the *.nft.json files produced by Next.js.
About your issue:
It sounds like you are providing the .next/standalone folder by itself as the build artifact, as opposed to providing the raw .next folder?

@ferdingler I will figure out something - next time you should send some info prior to change.
In my company we have our own internal CI/CD and to amplify we provide already build .next folder

2023-08-03T11:45:08.761Z [INFO]: # Completed phase: build
2023-08-03T11:45:08.763Z [INFO]: ## Build completed successfully
2023-08-03T11:45:08.764Z [INFO]: # Starting caching...
2023-08-03T11:45:08.774Z [INFO]: # Creating cache artifact...
2023-08-03T11:45:18.010Z [INFO]: # Created cache artifact
2023-08-03T11:45:18.109Z [INFO]: # Uploading cache artifact...
2023-08-03T11:45:22.677Z [INFO]: # Uploaded cache artifact
2023-08-03T11:45:22.762Z [INFO]: # Caching completed
2023-08-03T11:45:22.766Z [INFO]: Setting NEXT_PRIVATE_STANDALONE=true to produce .next/standalone directory
2023-08-03T11:45:22.769Z [INFO]: # No custom headers found.
2023-08-03T11:45:26.448Z [ERROR]: !!! CustomerError: Required dependency file not found: /codebuild/output/src2958333560/src/tsv-webapp/amplify.sh
2023-08-03T11:45:26.548Z [INFO]: # Starting environment caching...
2023-08-03T11:45:26.548Z [INFO]: # Environment caching completed
Terminating logging...
Facing the same issue, we are not able to deploy new nextjs apps to amplify - and cannot do any new releases.

+1 ^ hitting similar issue. I have left my notes on #3631

+1 ^ hitting similar issue. I have left my notes on #3631

https://github.com/aws-amplify/amplify-hosting/issues/3615#issuecomment-1665059533

@arturkasperek Thanks for sharing your use case and feedback here. I am going to relay this to the team internally.
@tsvint @sudhishkr We have deployed a fix for the missing amplify.sh as stated here: https://github.com/aws-amplify/amplify-hosting/issues/3631#issuecomment-1668232382.


Updated MoveReplicaGroup to take source files as csv parameter

Codecov Report

Merging #1208 into master will increase coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1208      +/-   ##
==========================================
+ Coverage   66.94%   66.98%   +0.04%
==========================================
  Files         765      765
  Lines       36717    36974     +257
  Branches     4719     4770      +51
==========================================
+ Hits        24579    24768     +189
- Misses      10503    10562      +59
- Partials     1635     1644       +9

Impacted Files
Coverage Δ

...pinot/controller/validation/ValidationManager.java
74.53% <0%> (-6.49%)
:arrow_down:

...manager/realtime/HLRealtimeSegmentDataManager.java
73.48% <0%> (-4.98%)
:arrow_down:

...ltime/impl/dictionary/DoubleMutableDictionary.java
49.23% <0%> (-4.62%)
:arrow_down:

...m/linkedin/pinot/client/DynamicBrokerSelector.java
69.69% <0%> (-3.04%)
:arrow_down:

...ealtime/converter/RealtimeSegmentRecordReader.java
91.17% <0%> (-2.95%)
:arrow_down:

...m/linkedin/pinot/common/metrics/MetricsHelper.java
72.6% <0%> (-2.74%)
:arrow_down:

...ain/java/com/linkedin/pinot/client/Connection.java
51.35% <0%> (-2.71%)
:arrow_down:

...e/realtime/converter/RealtimeSegmentConverter.java
87.23% <0%> (-2.13%)
:arrow_down:

...filter/SortedInvertedIndexBasedFilterOperator.java
78.37% <0%> (-1.36%)
:arrow_down:

...ommon/request/helper/ControllerRequestBuilder.java
89.41% <0%> (-1.18%)
:arrow_down:

... and 18 more

Continue to review full report at Codecov.

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


Add compare_version

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

Project coverage is 100.00%. Comparing base (915d2f2) to head (7212533).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #653   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           71        72    +1
  Lines         1937      1958   +21
  Branches       239       240    +1
=========================================
+ Hits          1937      1958   +21

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


feature: express_integration

Work in progress.
Will include the express integration allowing for server side static serving, scss rendering, and dust.js templating.

Issue: https://github.com/kingsreach/kingsreach-online/issues/2

@kirstyrose this is now ready. Just cribbed the base system from akd.io. It has sample dust templates and the routing will still need to be set up, but you should be able to complete #9 now. There are conflicts so once #3 is done, we'll merge that and you can start the integration.


Improve HF tokenization hack to cover multiple special tokens

Like some others (#620, #609, #581, #556, #555, #494, #479) I have been running into issues with an assertion failure when my prompt contains special tokens. Particularly, it seems like the existing workaround doesn't account for multiple special tokens being present in the prompt, but this is necessary for example if you want to use the chat template provided with models such as HuggingFaceH4/zephyr-7b-beta, which contains special tokens as part of the template.
I don't fully understand the nature of the workaround or why it is necessary, but after some experimentation, the changes here made it work for my use case. I am posting them here in case it helps anyone experiencing the same issue and also in hopes of creating a discussion that might lead to a more robust solution. Perhaps @slundberg, who I believe implemented the original workaround, can chime in and let me know if I am on the right track with this change.
Thanks, Shawn

Thanks! This is because if you take the string "my text" and tokenize it with some HF models and then untokenize it you get " my text"...so the tokenizers are not invertible because they add spaces after special tokens. It is annoying and seems wrong, but is not something we can change, hence the hack. Your update does not seem wrong, but since it seems to change the token count unit test I suspect it may be brittle to different model types. Do you mind adding a few tests to validate this for a few common models so make sure it does not break anything?
Long term I am hoping we can get around much of this by using a speculative decoder model. If we integrate with a speculative decoder we won't need to clean up tokens after forcing them (since the speculative decoder should follow the constraints)...and so we won't have to use the function at all. But of course that all depends on having access to a spec decoder which won't always be true :)

You are right, this change is brittle and seems to have broken several tests! I am working on making it work in more cases right now and I think I might have a viable solution that fixes the existing tests while also making it work for my use case. In the mean time, if anyone has any suggestions or ideas for different approaches, I'm all ears!

Note that a competing project "outlines" is implementing a similar feature and they seem to have settled on a method that might be able to avoid some of these hacks? Perhaps it could be a source of inspiration for a future look at this, see: https://github.com/outlines-dev/outlines/issues/161 and https://github.com/outlines-dev/outlines/pull/531


multiple source/dest concats?

Something like:
bower_concat: {
  js_header: {
    include: [
      'package_1',
      'package_2'
      ],
    dest: 'build/_bower_header.js',
  },
  js_footer: {
    include: [
      'package_3',
      'package_4'
      ],
    dest: 'build/_bower_footer.js',
  },
  js_other: {
    include: [
      'package_1',
      'package_4'
      ],
    dest: 'build/_bower_other.js',
  },
}

I suppose you have read docs for Grunt and this plugin, add this code to your Gruntfile and it didn’t work as you expected (of course after reading the docs). But you were so exhausted that you forgot to describe what was wrong. Please do that now.

I was expecting something along with way concat works with tasks like 'dev' and 'dist' and within them  files: [ { src: {}, dest: {} }, { src: {}, dest: {} }, /* etc */ ]
It seems I have to make each set of files a diff task, so while this ran without error:
module.exports = function(grunt) {

  grunt.initConfig({

    bower_concat: {
      a_js: {
        include: [
          'bower-test-a' // no dependencies
        ],
        dest: 'a.js'
        // cssDest: 'a.css',
      },
      b_js: {
        include: [
          'bower-test-b' // has -a as dependency
        ],
        dest: 'b.js'
        // cssDest: 'b.css',
      },
      bandc_js: {
        include: [
          'bower-test-b', // has -a as dependency
          'bower-test-c' // no dependencies
        ],
        dest: 'bandc.js'
        // cssDest: 'bandc.css',
      },
      all: {
        dest: 'all.js'
        // cssDest: 'all.css',
      }
    }

  });

  grunt.loadNpmTasks('grunt-bower-concat');

  grunt.registerTask('default', [
    'bower_concat:a_js',
    'bower_concat:b_js',
    'bower_concat:bandc_js',
    'bower_concat:all'
    ]);

};

It did not pull in dependencies from bower, ex: b_js created b.js with bower-test-b but without it's dependency bower-test-a.
All of bower-test-* have a bower.json with mainfile (which grunt -v shows as being found) and dependencies set (which work since bower pulls in dependencies).
So does using an 'include' exclude dependencies? Or what am I doing wrong?

Yep, include makes it more like regular concat. Because otherwise you could have the same component in a few different bundles (if components from that bundles depend on it) which is not what you want when you’re creating separate bundles (for example, for different pages).

Hmmm. What I want is to not load all my JS on every page, so to be able to create separate bundles per (type of) page, but still not have to worry about dependencies and concat order (because that's already defined in Bower).
I've been searching everywhere but I can't find a solution. Any thoughts?

They will be in the right order, no matter in which order you specify them in the include. But you need to specify all dependencies too.
I’m not sure how to make it better.

Yeah, I don't want to have to specify dependencies - that's what I was doing before manually with regular concat.
Perhaps an option that turns on dependency loading even when using include, with a warning if you're not using it correctly you could load some packages twice?

Yeah, that would work. It would be great if you could create a pull request with that feature.

I'm not up on creating Grunt plugins, but I know JS.
It looks like the section in question that short circuits the dependency checking/loading is this in function bowerMainFiles() :
 _.each(lists.components, function(component, name) {
  if (includes.length && _.indexOf(includes, name) === -1) return;
  if (excludes.length && _.indexOf(excludes, name) !== -1) return;

I'm thinking a "forceDependencies" option that overrides the above if statements with a (!options.forceDependencies) conditional.
If I'm on right track it seems like it shouldn't be too difficult for me to add this functionality in a PR.

I think I'm having the same problem. Given the example given here, it looks like we should be able to do it, but grunt tells me Required config property "bower_concat.subitem" missing when I try to do bower_concat:subitem and You should specify "dest" and/or "cssDest" properties in your Gruntfile when I try to do bower_concat.
That said, there's a possibility that my syntax is wrong somewhere... but I triple checked it, and even rebuilt it from scratch using the example.

@Shino-, until you show me your gruntfile I could’t tell you what’s wrong with it.

@toddzebert, I think it would be easier to add all the dependencies of “included” components to the include array itself before _.each(lists.components loop at line 97.
And I don’t like the name forceDependencies. Probably something like includeWithDependencies would be more clear.

@sapegin ok, here's the current version of the task with only one element.
'use strict';

module.exports = function bower_concat(grunt) {
	// Load task
	grunt.loadNpmTasks('grunt-bower-concat');

	// Options
	return {
		bower_concat: {
			components: {
				dest: 'public/js/components.js',
				dependencies: {
					'jquery-ui': 'jquery',
					'jquery-cookie': 'jquery',
					'jquery-validation': 'jquery',
					'dustjs-linkedinhelpers': 'dustjs-linkedin'
	            },
				exclude: [
					'doc-ready',
					'eventEmitter',
					'eventie',
					'fizzy-ui-utils',
					'get-size',
					'get-style-property',
					'jquery-hashchange',
					'jquery-mobile-bower',
					'jquery-mobile',
					'jquery-ui-tabs',
					'matches-selector',
					'outlayer'
				],
				mainFiles: {
					'jquery': 'dist/jquery.min.js',
					'modernizr': 'modernizr.js',
					'jquery-ui': ['ui/effect.js','ui/effect-puff.js','ui/effect-scale.js','ui/effect-size.js'],
					'imagesloaded': 'imagesloaded.pkgd.min.js',
					'masonry': 'dist/masonry.pkgd.min.js',
					'jquery-cookie': 'jquery.cookie.js',
					'dustjs-linkedin': 'dist/dust-core.min.js',
					'dustjs-linkedin-helpers': 'dist/dust-helpers.min.js',
					'jquery-validation': 'dist/jquery.validate.min.js'
				}
			}
		}
	};
};

The gruntfile has grunt.registerTask('build', [ 'stuff', 'bower_concat:components', 'otherstuff' ]);.

@Shino- While I think you have a different issue than I, I don't see any problem with your bower_concat syntax.  Although, I'm not familiar with your use of return-ing the options - in my file I use grunt.initConfig() which works correctly (although not as I hoped).


Support VIM style navigation in trees like the explorer

VSCode Version: 1.4
OS Version: Windows 10

I like Visual Studio Code and am thinking about replacing VIM. But one thing is still missing that is very important for me: navigating in the explorer with NERDTree keybindings. Is there a plan to make the keybindings in the explorer configurable? This would be great!
Thanks!

Assuming he is talking about short cuts to navigate the tree.

Well, not exactly short cuts. I would like to change the default keybindings in the tree like I can do in the editor window. So to move down I would like to use "j" and for up "k". Simply making those commands available in the keybindings-file.

Something like a "inExplorerMode" to add to the when clause when defining keybindings would be helpful to implement this, similarly to what exists for the debug mode (inDebugMode).

https://github.com/Microsoft/vscode/issues/4557

@johnfn can you confirm that this is only about navigating in the explorer? My understanding is that for VIM the arrow keys map 1 to 1 like this:

i : arrow up
k : arrow down
j: arrow left
l: arrow right

How about other keybindings I see on http://usevim.com/2012/07/18/nerdtree/ (e.g. open a file, open a file to the side?)
And further more the most important question: Would VIM users expect this across any tree or only in the explorer?

@bpasero I'd like it to be across all "trees".. In atom, I had the command palate and autocomplete menu navigation mapped to <C-h>, <C-j>, <C-k>, <C-l> when they were within scope and that worked nicely for me.

@dsifford I see, what does <C-h> mean compared to just typing h?

@bpasero Sorry, that was be trying to sound like a smartypants.
The control key was necessary within the scope of the command palate or the autocomplete list because I still needed to be able to use h,j,k,l for normal typing.
And I suppose for the sake of correctness, I should state that all I really needed to map for both the command palate and the autocomplete list was ctrl-j and ctrl-k for up/down movement.
The only context that needed left/right movement that I can recall in atom was the file tree.
(Hope that answers your question!)

@bpasero Yeah, not only would we like to rebind navigation in a tree, but also at the very least we'd like to be able to trigger the same action as a click. "open selected file in current tab" and "open selected file in any tab passed in as an argument" would be ideal!

@dsifford I see, thanks
@johnfn for that please take a look at https://github.com/Microsoft/vscode/issues/4557#issuecomment-276960041 for the new commands I added for our future release. they inlcude commands for opening and opening side by side.

@dsifford @johnfn would you expect more powerful commands in the tree, e.g. being able to type "2j" to execute the "j" command 2 times on the tree, or is it really just about 1 keybinding to do 1 action in the tree?

With regards to 2j, couldn't we just run the command 2 times?
The commands in your comment look fine to me.

@johnfn my understanding is that for motions commands are not enough. you need a way from your extension to detect that a motion is started within the tree and then be able to override what happens when j is pressed to execute the navigateXY command multiple times.
Again, are motions in trees typical for VIM users?

Curren thinking is to introduce commands for tree and list navigation that is used by any tree and list throughout the Code UI where it applies.
The commands are:

Command
Keybinding
Arguments

list.focusUp
Up Arrow
number (of elements to go up)

list.focusDown
Down Arrow
number (of elements to go down)

list.focusFirst
Home
no

list.focusLast
End
no

list.focusPageDown
Page Down
no

list.focusPageUp
Page Up
no

list.collapse
Left Arrow
no

list.expand
Right Arrow
no

list.clear
Escape
no

list.select
Enter
no

list.toggleExpand
Space
no

Feedback welcome.

I adopted the commands in all tree and lists throughout the workbench 👍

I have really grown accustomed to split open (s in nerdtree).  Also, switching between the editor and the tree (Ctrl+w, but I remap it to tab), change directory (cd), and create/rename/delete (m) are really handy.  Any chance we can get commands for them as well?

Hi guys,
the configurable explorer is very nice :)
Still I am missing a few things to configure:

focus parent node of current selected element (p in NerdTree)
when I am in the left most editor group I would like use the same keybinding to move to the explorer as I would use to navigate from a right editor group to the one next to it on the left side (in my case ctrl-h). Maybe there is already a context I could use to figure out if I am in the left most editor group?
focus left/right editor (tab) possible via shortcut?

Thanks anyway for bringing in the functionality into the explorer window!
Bye

Each individual thing missing in VIM should be reported as individual issue and then we can look into each individual issue individually.

@bpasero: I do not think my mentioned points are VIM related:
focus parent node of current selected element (p in NerdTree) => there is no way (or at least I have not found it) to execute such a command like "select parent node", so this is something missing in general.
focus left/right editor (tab) possible via shortcut? => I have not found any command that makes it possible to cycle through editors (tabs) to the right/left side.
when I am in the left most editor group I would like use the same keybinding to move to the explorer as I would use to navigate from a right editor group to the one next to it on the left side (in my case ctrl-h). Maybe there is already a context I could use to figure out if I am in the left most editor group? => I think this is is something difficult to achieve, but I would like to have a context telling me what is the current editor that is focused, like "editorXFocus" where "X" would be the index (0, 1, 2, ...)
Bye

I have found the correct command to cycle through the editors "nextEditor"/"previousEditor".

@bpasero , I also think my requests are not VIM related so much as VIM NerdTREE inspired.  They would be additional commands needed in your tree.  Specifically:

Command
Keybinding
Arguments
Explanation

Split open
ctrls
no
Opens the selected item in a new split editor

Modify
ctrlm
?
Provides the ability to copy/rename/delete the selected item

Change directory
ctrlc+d
no
Changes the directory such that the root of the explorer is what was selected

Once these were added, then I could ask the VIM guys to support a basic vim like mapping to them...

@lucastheisen: for the "modify" shortcut you could also use the command combinations:
"m a" => add a file
"m f" => add folder
"m m" => move file
"m d" => delete file
those shortcuts are also working in NERDTree with the difference, that NERDTree shows a menu on pressing the first "m" and then allows further selection via the second letter. But I think that the inbetween menu is not necessary and thus these shortcuts should also be fine.
To make more comfortable for you, you could also map:
"ctrl+m a" => add a file
"ctrl+m f" => add folder
"ctrl+m m" => move file
"ctrl+m d" => delete file
For the "change directory" feature: I think the concept of the explorer in VSC is different from a standard file tree. It is more project based where you can open exactly one folder and show everything below it. Therefore I am not sure if such a mapping would make sense. Still decision is on their side :)

@ppowalla, thank you...  Any idea on the split open...  that's actually my favorite feature...  (that and using tab in command mode to switch between editors including the tree)...

@lucastheisen:
{ "key": "ctrl+enter",            "command": "explorer.openToSide",
                                     "when": "explorerViewletFocus && explorerViewletVisible" },

@bpasero Chiming back here with some thoughts after having some time to kick the tires....

Preface: I'm a NERDTree user, so I've got those commands baked into my muscle memory.

General Comment
Great improvement over what was previously available. Really awesome job. 👍 I feel like I have everything I need to be able to navigate completion menus and the command palette so all go with respect to those two things.
What I'm still missing for the explorer

The ability to jump to the first child and last child of the current tree. I was under the impression that list.focusPageUp and list.focusPageDown would do that, but instead functions almost exactly like list.focusUp and list.focusDown (if the entire list is visible, which for me is a majority of the time).
The ability to jump to the parent directory of the current tree (jump to root is already covered with list.focusUp).
The ability to programatically find a file or directory in the current tree. Plugins like VSCodeVim might use this to add /<search-down-pattern><CR> and ?<search-up-pattern><CR> to jump to files/directories matching a pattern.
The ability to open a selected file in "preview mode". In other words, hit a key to open the file but still leave focus in the explorer. If another file is opened in preview mode, open it in the place of the last previewed file.
Quickly show/hide hidden files. (not very important for me, but putting this here for the sake of completeness).

Some of the above things were already mentioned by @ppowalla and I agree that they aren't really in the same scope as VSCodeVim because I'm not sure the API even exists currently to do these things.
Anyway, that's all for now. Thanks again for your hard work @bpasero! 😄

@dsifford good list, I suggest to convert these items into individual feature requests each. That also improves the chance that someone might chime in to provide a PR.
Some feedback:

I think we can easily introduce new commands to navigate to first/last child
list.collapse when pressed on a file brings you to the direct parent (will not work for folders though unless the folder is collapsed)
searching within the explorer has many duplicates already and is non trivial
allowing to open a file without loosing focus and in preview mode should also be possible via a new command. however the notion of preview or not is a explorer specific thing and not list/tree specific. maybe we could have a generic command list.selectKeepFocus (a bit ugly)
this also seems like a specific explorer command, not a generic tree command

@bpasero

I think we can easily introduce new commands to navigate to first/last child

I'll open an issue now for this.

list.collapse when pressed on a file brings you to the direct parent (will not work for folders though unless the folder is collapsed)

Aha! This is good enough for me. Consider that one covered! Thanks for the tip.

allowing to open a file without loosing focus and in preview mode should also be possible via a new command. however the notion of preview or not is a explorer specific thing and not list/tree specific. maybe we could have a generic command list.selectKeepFocus (a bit ugly)

Got it. I can open an issue for this one too if you'd like.

this also seems like a specific explorer command, not a generic tree command

That one is super low on my priority list, so we can lit that simmer for now until someone else decides it's something they've gotta have.


feature_unit-test-explorer

Aims to:

Improve Unit Test Explorer speed when running many tests at the "same time"


Jetbrains Extension (EAP v0.0.76) Inline Edits bugged out.

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Windows 11
- Continue version: 0.0.76 EAP
- IDE version: 2024.2.3 (Ultimate Edition)
- Model: 4o-mini
- config.json:

{
  "models": [
    {
      "title": "GPT4o-mini inline",
      "provider": "openai",
      "model": "gpt-4o-mini",
      "apiKey": "hey-you-dont-get-my-key!",
      "systemMessage": "Please provide the updated code without any additional text or explanations."
    },
    {
      "title": "GPT4o-mini",
      "provider": "openai",
      "model": "gpt-4o-mini",
      "apiKey": "hey-you-dont-get-my-key!"
    },
    {
      "model": "claude-3-5-sonnet-20240620",
      "provider": "anthropic",
      "apiKey": "hey-you-dont-get-my-key!",
      "title": "Claude 3.5 Sonnet"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": ""
  },
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "contextProviders": [
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "edit",
      "description": "Edit selected code"
    },
    {
      "name": "comment",
      "description": "Write comments for the selected code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ]
}

### Description

_I have my keyboard shortcut set to Ctrl+i for inline edits. I also have the Ideavim plugin installed. (0.0.73) seemed to work._

If I highlight a chunk of code and hit Ctrl+i for my inline edits, type my prompt and hit enter I get all kinds of strange things happening now. Sometimes it actually works just fine. Most of the time it doesn't. I'm attaching a couple of screen shots. I can't cancel the edit or back out like I used to be able to do if I didn't like the results. I have to click each Alt+n instead of being able to cancel the whole block. I feel this plugin was working for me but after the last few versions it seems busted.

![2024-10-21 12_52_16-Clipboard](https://github.com/user-attachments/assets/5a8f9d8a-2f79-4f23-8566-e9d918c24bd6)
![2024-10-21 12_53_26-Clipboard](https://github.com/user-attachments/assets/d194b23a-be91-4838-9dad-27e704942d3b)

### To reproduce

_No response_

### Log output

_No response_

Are these screenshots even uploading?!?!

Thanks for the writeup + screenshot here @that-guy-scott . The accept all/reject all buttons should be showing up in the same place they were prior to the 0.0.76 release, e.g. in the chat input. Looking into this now!

I'm trying to reproduce the bug and it's pretty consistently not showing the reject button. It showed up this time but in an odd place. Usually it shows at the top of the edit, this time it showed up after the first 'chunk'. Idk, might be relevant so I'll post it.

Thanks for the additional detail here @that-guy-scott ! There are a few bugs here that I'm working on.
Question for you based on this comment of yours: "I have my keyboard shortcut set to Ctrl+i for inline edits."
Did you have to manually set that shortcut, e.g. to override the default ctrl + i to create a new interface?

@Patrick-Erichsen , I'm an idiot... lol I've got so many keyboard shortcuts I thought I had re-mapped the ctrl-i but that's stock continue key mappings. Sorry for the confusion.

This is still bugged out for me. I reset intellij ultimate 2024.2.4 back to stock settings, installed continue and tried inline edits for an .sql file and it doesn't work. It'll run thru the code updating things but then bugs out at the end.  I don't get the accept/reject buttons. I do get the individual buttons for each block but that's bugged out too. It'll end and leave red and green lines in the editor. I have to close the file and reopen it in order to remove the red or green lines. If I edit a regular txt file it works fine. For some reason it just does not like .sql files or the sql query console. I have noticed it will do this with other files. For example, we use .conf files for settings and it'll do this on those as well. But it seems to work with my other project files like html, css, js ect...

Thanks for reopening this and providing those screenshots. My hunch is that it's a file extension specific issue as you mentioned. Will circle back here when we take a look into it 👍

I also have the same behavior with 0.0.76, but also with 0.0.75 (see attached video).
https://github.com/user-attachments/assets/28862ee4-8e8f-4b49-a440-5c2ed51b1237
It seems to me that this did not occur in 0.0.70 - at least I cannot reproduce the behaviour with that version

I just had this happen on 0.0.70 with a css file. I don't think I can use this anymore. It keeps messing up my code and I find myself spending to much time sorting thru the mess trying to correct it. I gave it a good run. I'll keep an eye on this project.

@Patrick-Erichsen is there some sort of workaround for this behaviour? I'm a bit confused that this issue is not upvoted more as it effectively prevents us from using the inline completion Feature in jetbrains.
With Versions greater than 0.0.70 it happens extremely often which is why we currently suggest our devs to stay at 0.0.70 (even though it really also occurs with that Version but much more rarely)
Meanwhile with 0.0.80 already released I'm afraid we won't be able to keep that Suggestion up for much longer.

@that-guy-scott @Hakenadu - thanks for your patience here. My original hunch was that this was file specific but after testing it out some more I was able to repro the issue of the individual diff block buttons not rendering. Here is a PR that should fix that: https://github.com/continuedev/continue/compare/pe/jb-osr-bugfixes?expand=1
However, I wasn't able to repro the issue of the "accept all"/"reject all" buttons not rendering.
@Hakenadu - it looks like the video you uploaded is no longer available, if you wouldn't mind reposting that would be appreciated.

@Patrick-Erichsen thank you for your work on this topic and your openness to our comments! I'm looking forward to using the version that includes your PR since I use the inline edit functionality very inflationary 😄
https://github.com/user-attachments/assets/ba887401-4c94-4ad5-8c12-d3f392ba0fbb

I'm optimistic that the above PR will fix this based on your video, the root issue was that we were updating the UI off of the main thread for UI updates in IntelliJ. So our diff stream was erroring out before we draw the buttons on the screen.

Sounds great!
I'm looking forward to the Version which includes your fix

Unfortunately I can't seem to install the plugin via github download. I've tried before and had the same problem. I would have to use the EAP version in the intellij marketplace to try out other version. It looks like this version isn't on the marketplace yet.

Any update on this new version? I'm not familiar with the build process. Can we get an EAP release in the marketplace? maybe a zip upload that allows us to install it?

@Patrick-Erichsen, it looks like this has been resolved in your 82 patch but we're waiting on an update for this issue 2956 before we can build the intellij plugin. Feel free to close this ticket.

@that-guy-scott will do, please follow up in that thread once the release is out if you have any issues! 👍


user filters

Expected behavior
When a user is being selected in the "user filter" drop down I expected that it's name will be the only one used to filter, for example: status:open assignee:"Demo Admin"

There should be only one "assignee" filter in the filter string.

Actual behavior
The "user filer" acts like "append filter" and result with filter like: status:open assignee:nobody assignee:"Demo Admin" assignee:"user000"
Steps to reproduce

Create a project with multiple users
Select a user from the user filter drop down.
Select again a user from the user filter drop down.

Configuration

Reproduce on the Demo site
Browser: up to date Firefox and Chrome

refers to https://github.com/fguillot/kanboard/issues/1181#issuecomment-146573589

I understand the changes, but there is no use in duplicate assigneed fiters - it gives empty group.
The dropdown selection of user filter should add assigneed filter or replace the assigneed filter in the current filter string.

Bug confirmed. Same Issue with the "category filter" drop-down next to the "user filter".

It's not a bug and it was the expected behaviour.
However, I changed that in the development branch. Now, for the category and users filters only the selected occurence will be visible in the search field. It doesn't append the value anymore.
If appending the value is necessary, the custom filters can be used instead.


DocBlock fixes

This PR corrects a small handful of documentation errors.
This is an initial dipping of the toes.
There is a fair bit more I feel can be greatly improved, and I'd be happy to do so if the community is open to it.

[X] Is this related to documentation?

@froschdesign Rebased based on your notes.
Sorry about that, I'm usually pretty careful to match indentation styles of projects, so I don't know how that happened.


Drag animation removed

Hello.
A few versions ago when you drag a column the column where is landing was like swaping, I mean there was an animation. Now there isn't. Is this a bug or is it a change expected?
https://codesandbox.io/s/material-table-starter-template-forked-kikgi?file=/src/index.js

Do we know which version was the last working version? That way I can check out the commits.

I've gone back to version 2.3.30 and this is still an issue. I wonder if the issue is with react-beautiful-dnd? @Domino987 thoughts?

This is connected to snapshot.isDragging ? provided.draggableProps.style : {} to prevent a jump in styles most likely. But I do not get it to work to for both cases-

I'm not sure what you mean. Maybe we should create a branch and tag-team the issue?

So previously, we always applied the provided style to all the headers. This lead to some jumping on start hover because some outer elements changed their offset. That's why we removed the style for all but the currently dragging header. But this, it seems, broke the reordering animation. I looked i to it but could not find a way to reconcile both of these problems yet.


Update munit, munit-scalacheck to 0.7.19

Updates

org.scalameta:munit
org.scalameta:munit-scalacheck

from 0.7.18 to 0.7.19.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta" } ]

labels: test-library-update, semver-patch

Codecov Report

Merging #85 (c091fa5) into main (f023ed2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #85   +/-   ##
=======================================
  Coverage   96.41%   96.41%
=======================================
  Files           5        5
  Lines         670      670
  Branches       60       60
=======================================
  Hits          646      646
  Misses         24       24

Continue to review full report at Codecov.

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


Update graph-proactive-bots-and-messages.md

Applied two formatting enhancements to http examples

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

File
Status
Preview URL
Details

msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md
:white_check_mark:Succeeded
View

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


Disable animation

HI
Anyway to disable all the animations.
My users and I are going a bit nuts with all the animations,slides and redraws.
Otherwise great theme !

I don't think a version with no animations is worth the time going through most of styling, specially that animations are very helpful to improve user experience.


Make the code clojurescript Self-host compatible

The LaTTe kernel is being rewritten in a cljs-friendly way at: https://github.com/latte-central/latte-kernel
I'm closing this branch.


[Question]  Could genotyping of SNPs of metagenomic reads work?

Hello,
this method looks very promising, thanks for the effort to make it easily accessible to all.
I have a question:
If a build a PanRG for a particular specie and try to pseudoalign raw metagenomic reads (potentially reads from thousands of species), could this method work? I'm concerned about the existence of genes in the metagenome that are present in multiple species, which could align to my PanRG and give me variation which isn't actually coming from  my specie of interest, but from different specie(s). Maybe this doesn't matter or there are other potential problems with metegenomes ?

At the moment we assume that there are no mixtures in the dataset (although this is an extension we would like to work on in the future sometime). So genes which are repeated several times in different forms within the dataset will get one "consensus" output which is unlikely to be accurate. You could map gene consensus sequences back to a de novo metagenomic assembly of your dataset and use this to filter genes that map with a high enough quality/uniquely to the part of the assembly corresponding to your species of interest. Although I would have very little confidence of there not being some sort of a mixture of the species of interest within the metagenomic dataset.

I see, thank you for your response, this information It's really helpful.


Remove unnecessary value assignments throughout the codebase

CPPcheck found most of them.
no need to assign the variable twice:

AnimationTrackEditTypeAudio
SSEffects

variable is assigned in all if-else clauses:

EditorHelp
AndroidInputHandler
MenuBar
ShaderCompiler

same if clause:

ItemList

clearing an empty bitfield has no effect:

Viewport

Thanks!


useStore always throws You must use this function within the "setup()" method in Vue2.7 + Vuex3.6 app

I'm trying to follow the example to use useStore within an Vue2 app with Vuex3.
I wrote a simple component just to initialize the store:
 import { defineComponent } from 'vue';
 import { useStore } from '@vueblocks/vue-use-vuex';
 export default defineComponent({
	setup() {
		const store = useStore();
	},
});

The compiler always throws the error and warning:
You must use this function within the "setup()" method
Is there any limitation to use the vue-use-vuex with Vue2.7 and Vuex3.6?

It seems to be something to do with imported Vue versions, I worked around it as follows:
const instance = getCurrentInstance();
const store = instance.proxy.$store;


How to go back from pod to replicaset/deployment?

Hi,
if I click on some deployment and after that click on a replicaset in the popup window and then click on a pod in the popup, how can I go back to the parent of this pod?
Of course, I can just close popup and click on deployment to find the replicaset, but it's too long path, isn't it? I thought there is some shorter way to do it. But there is no "back button" in the popup window.
How it suppose to work?

Yes you can, you can us the arrows in the top left to go forwards and back (as well as the CMD+RIGHT and CMD+LEFT shortcuts)

Oh my! There ARE arrows, I've never seen it. Thank you :)
Btw, it's CMD + [ and CMD + ] instead of arrows on MacOS


Performance issue in FSTIterator.next

Hi,
I'm using bleve full text search, which uses couchbase as backend. Sometimes I observe high CPU consumption taking several minutes, sometimes even golang garbage collector cannot operate. Tracking the issue down pointed to FSTIterator.next method.
There are around ~400.000 items in the statesStack in my instance. All represents linear sequence of nodes (NumTransitions() == 1 for whole list). There was an optimization made by @steveyen in 462e86d8716b36a1397b30ef77fb11105065a232 which cuts linear sequence of nodes and spares OUTER loop. But it does not do so when all nodes are in linear sequence. Here is the code:
		// if the top of the stack represents a linear chain of states
		// (i.e., a suffix of nodes linked by single transitions),
		// then optimize by popping the suffix in one shot without
		// going back all the way to the OUTER loop
		var popNum int
		for j := len(i.statesStack) - 1; j > 0; j-- {
			if i.statesStack[j].NumTransitions() != 1 {
				popNum = len(i.statesStack) - 1 - j
				break
			}
		}
		if popNum < 1 { // always pop at least 1 entry from the stacks
			popNum = 1
		}

When all nodes are in linear sequence, popNum remains zero and is set to 1 after the cycle. In my opinion the condition is there for the case the stack top would have more transitions, but when all have 1, it causes looping.
Is it a bug in optimization or is it by intent?
Thanks for reviewing

Thanks for the report.
I've been reading through the code, and your description, and I'm still trying to load this back into my brain (it has been a while).
Here is my understanding, please correct me wherever I go wrong:

You have some key in vellum which is both long and unique (recognizing this key means having some long sequence of states each with just one transition connecting them)
An iterator is currently pointing at this key
Someone calls Next() on this iterator
There is an optimization in place, which should help this case (rather than popping one item off the stack at a time, it looks to see if the previous state also has only one transition, in which case it keep popping them of all at once)
The optimization attempts to stop, once it reaches a state with more than one transition.
In your case, that condition is never met (because we got all the way back to the root?)  And here it seems the optimization does not handle this scenario correctly.  Even though it should have popped off many items, it instead behaves as if nothing was popped off (popNum = 0).  It then forces popNum to 1.
At this point, does it work correctly (just slowly)?  Meaning it pops items off one at a time in the outer loop?  Or does forcing popNum=1 cause some invalid state and an infinite loop?

That's my rough understanding having read your issue and the code.  If you think I'm misunderstanding please let me know.
Also going to ping @steveyen for any thoughts he might have...
My next step will be to try and create a test case that recreates the problem so I can better understand it.
Perhaps it isn't needed to fix this, but I'm curious, can you share anything about your data set that lets to ~400000 items in the stateStack?

OK, not a nice neat testcase, but a simple program that seems to reproduce the issue.
It creates a vellum with a single key/value pair, the key is the letter 'a' repeated 100000 times, the value is 0.
I then open this vellum, verify I start at that key, then call Next() and see that it takes over 30 seconds.
package main

import (
	"bytes"
	"github.com/blugelabs/vellum"
	"io/ioutil"
	"log"
	"time"
)

func main() {
	f, err := ioutil.TempFile("", "vel")
	if err != nil {
		log.Fatal(err)
	}
	vellPath := f.Name()
	log.Printf("path: %s", vellPath)
	b, err := vellum.New(f, nil)
	if err != nil {
		log.Fatal(err)
	}
	longUniqueKey := bytes.Repeat([]byte{'a'}, 100000)
	err = b.Insert(longUniqueKey, 0)
	if err != nil {
		log.Fatal(err)
	}
	err = b.Close()
	if err != nil {
		log.Fatal(err)
	}
	err = f.Sync()
	if err != nil {
		log.Fatal(err)
	}
	err = f.Close()
	if err != nil {
		log.Fatal(err)
	}

	fst, err := vellum.Open(vellPath)
	if err != nil {
		log.Fatal(err)
	}

	itr, err := fst.Iterator(nil, nil)
	if err != nil {
		log.Fatal(err)
	}

	k, v := itr.Current()
	log.Printf("current key len: %d, val: %d", len(k), v)

	log.Printf("before next")
	before := time.Now()
	err = itr.Next()
	since := time.Since(before)
	if err != nil && err != vellum.ErrIteratorDone {
		log.Fatal(err)
	}
	log.Printf("after next, took: %v", since)

	err = itr.Close()
	if err != nil {
		log.Fatal(err)
	}

	err = fst.Close()
	if err != nil{
		log.Fatal(err)
	}
}

And when I run it I get:
$ ./vellissue
2020/08/19 14:53:19 path: /tmp/vel488358637
2020/08/19 14:53:19 current key len: 100000, val: 0
2020/08/19 14:53:19 before next
2020/08/19 14:53:53 after next, took: 33.958722898s

Thought I had some code to reproduce it, but seems my understanding is not correct.  Although I see it taking a long time, it isn't in the reported section.  So my reproduction must be missing something still.

OK, I think I have reproduced the issue now.

I have a fix up for review on Couchbase's gerrit review system.  I still hope to discuss it further with @steveyen but that may not be possible.
In particular, my observations on this optimization are:

the first time the optimization is attempted, it fails (because the start state has 0 transitions), I've concluded this is by design and the optimization is designed to kick-in on the next iteration
the optimization does kick in on the next iteration, and the fix now identifies the case that all states examined in the for-loop satisfy the condition (j == 1), without this, we never hit an exit condition to set popNum

Open question: why does the loop stop with j > 0?  I left that as-is for now, but it means that one more OUTER loop iteration happens, even after the optimization.  Doesn't really affect performance, but an open question...
http://review.couchbase.org/c/vellum/+/134677

Hi,
I think you understand the issue correctly. Regarding your first post, I do not know the details of how scorch and vellum operates, so I cannot say what's the purpose of using the FST iterator. But I can share a callstack for reference, it's in scorch merger:
#0  github.com/couchbase/vellum.(*FSTIterator).next (i=0xc0434002a0, lastOffset=-1, ~r1=...) at github.com/couchbase/vellum@v1.0.1/fst_iterator.go:267
#1  0x00000000009c4d24 in github.com/couchbase/vellum.(*FSTIterator).Next (i=0xc0434002a0, ~r0=...) at github.com/couchbase/vellum@v1.0.1/fst_iterator.go:185
#2  0x0000000000a4fc95 in gitlab.icewarp.com/go/zap/v14.(*enumerator).Next (m=0xc009263380, ~r0=...) at gitlab.icewarp.com/go/zap/v14@v14.0.1/enumerator.go:112
#3  0x0000000000a53616 in gitlab.icewarp.com/go/zap/v14.persistMergedRest (segments=..., dropsIn=..., fieldsInv=..., fieldsMap=0xc000f05650, fieldsSame=<optimized out>,
    newDocNumsIn=..., newSegDocCount=8542, chunkMode=1026, w=0xc000f05620, closeCh=0xc005cbbaa0, ~r10=..., ~r11=<optimized out>, ~r12=...)
    at gitlab.icewarp.com/go/zap/v14@v14.0.1/merge.go:356
#4  0x0000000000a51eef in gitlab.icewarp.com/go/zap/v14.MergeToWriter (segments=..., drops=..., chunkMode=1026, cr=0xc000f05620, closeCh=0xc005cbbaa0, newDocNums=...,
    numDocs=<optimized out>, storedIndexOffset=<optimized out>, fieldsIndexOffset=<optimized out>, docValueOffset=<optimized out>, dictLocs=..., fieldsInv=...,
    fieldsMap=<optimized out>, err=...) at gitlab.icewarp.com/go/zap/v14@v14.0.1/merge.go:138
#5  0x0000000000a5172c in gitlab.icewarp.com/go/zap/v14.mergeSegmentBases (segmentBases=..., drops=..., path=..., chunkMode=1026, closeCh=0xc005cbbaa0, s=..., ~r6=...,
    ~r7=<optimized out>, ~r8=...) at gitlab.icewarp.com/go/zap/v14@v14.0.1/merge.go:79
#6  0x0000000000a5133f in gitlab.icewarp.com/go/zap/v14.(*ZapPlugin).Merge (segments=..., drops=..., path=..., closeCh=0xc005cbbaa0, s=..., ~r5=..., ~r6=<optimized out>,
    ~r7=...) at gitlab.icewarp.com/go/zap/v14@v14.0.1/merge.go:54
#7  0x0000000000a6f727 in gitlab.icewarp.com/go/bleve/index/scorch.(*Scorch).planMergeAtSnapshot (s=0xc0019ad400, ctx=..., options=0xc003cfe2d0, ourSnapshot=0xc002504180,
    ~r3=...) at gitlab.icewarp.com/go/bleve@v1.0.11/index/scorch/merge.go:321
#8  0x0000000000a6df67 in gitlab.icewarp.com/go/bleve/index/scorch.(*Scorch).mergerLoop (s=0xc0019ad400) at gitlab.icewarp.com/go/bleve@v1.0.11/index/scorch/merge.go:68
#9  0x0000000000461361 in runtime.goexit () at runtime/asm_amd64.s:1357

(I've forked bleve (and zap, which depends on bleve) to our private repo, but the only change there against upstream v1.0.9 is applied ascii folding fix waiting in https://github.com/blevesearch/bleve/pull/1434, so it is unrelated to this issue).
The index contains ~26000 parsed mails, has ~500MB in size and was created by adding mails in batches of ~200 items per batch + sometimes by adding 1 email when something was received during indexing. If you are interested I can ask my boss if it would be possible to share the index via some private link, but it seems you have already reproduced and fixed the issue.

I wanted to follow-up here.  A fix was merged into vellum, and a new release of bleve (v1.0.10) has been made including this fix.
Separately, I wanted to follow-up again on why you encountered this particular issue in the first place.  First, a bit of background, bleve uses vellum to store it's term dictionary.  This means that the keys stored in vellum are the terms indexed for a field in bleve.  Now, in your case described here, you reported a vellum iterator, who's stack had  "~400.000" items in it.  On it's own, there is nothing wrong with this, but it is unusual.  Essentially each state in the iterator's stack represent one byte in the key, which implies one of the keys in your vellum has length >400000.  Coming back to how this can happen in a bleve index, it most likely means that you have a field indexed using the keyword analyzer (which does no transformations on the input), and that one of the source values for that field is very long (>400000 bytes).
Again, without knowing more about how you're using bleve, I cannot say this is wrong.  But it's also possible that this is unexpected, and may ultimately lead to some other problems down the road, so I wanted to point it out now.  If you have more questions just let me know.

Hi, thanks for the reply.
It's a bit unexpected, but possible. I use standard analyzer with unicode tokenizer, but because I index email messages, there can be some strange or malformed message, like base64 part wrongly marked as text/plain or something like that. Then it can happen a term will be very long.
To know more, I'd need to get the affected email. As I have a core dump, is it somehow possible to retrieve document _id field from local variables available in the callstack shared above?

It might be possible, but it happened during a merge, so it would likely involve combining several pieces of information.
An easier way would be for you to use the zap cmd-line utility, cmd/zap in the blevesearch/zap repo (be sure to use the correct branch).  With this utility you should be able to run zap dict <path to zap file> <field name>.  This will list all the terms in that field, and hopefully something will jump out at you as the problem.


Remove Seamless from Security

It looks like Seamless was removed from the spec, see https://github.com/whatwg/html/issues/331

Seamless has already been removed https://github.com/NielsLeenheer/html5test/blob/version-7.0/scripts/7/engine.js#L3057


Ability to calculate any waypoint (0.5, 0.25, 0.15... of distance)

Ability to calculate any waypoint instead of only midpoint (0.5 of distance).

Coverage increased (+0.003%) to 96.216% when pulling 78eeb10e8b07735143b2f0679b2be9de0e20ef24 on dimoon:master into 68b2fb1733fe3636e97a94c4990464e42682653a on geokit:master.

@dimoon Whilst I don't like maintaining legacy, I can see some issues if people suddenly upgrade. Maybe you can keep the old methods, and call waypoint with the 0.5 argument to keep it working for existing users.
If you want you could also print a deprecation message if you think we should be getting people to change, but in my opinion midpoint is probably an important enough case to have it's own method.

@dimoon Also for others benefit, what is your use case for it? This could be useful should anyone want to remove this feature in future.

@mnoack do you think alias_method :midpoint_to, :waypoint_to will not work properly for this? (I mean legacy code)
As for use case for it. A bit long story :)
I have round track with coordinates of inner and outer border. I need to split distance between two points on ~25cm section for outer border and need to split inner border on the same amount of pieces as for outer(it depends on radius distance, bit for example should be about ~10cm). I need it to be able link position of horse on the track with inner and outer waypoints and display it. I think it's not so unusual task. More fast way to do it is using waypoint calculation with certain shift (distance_factor) instead of midpoints

@dimoon - I think midpoint_between musn't have tests because given the additional required argument it would surely fail those tests, so we really have 2 problems now (backwards compatibility and the existing geokit project lacks tests for what is being changed).
I'm still okay with the idea of the change, just that I believe it will change the behavior of the code an cause someone else's code to break.

I'm closing until we resolve the backwards compatibility question in my last comment. Feel free to re-open when you've resolved that. Thanks for the Pull Request @dimoon


Enable power to unused LOGIC cells by default

This PR updates the default bitstream generation script as well as the quicklogic-fasm submodule.

lgtm


RAG implementation with user-roles getting different results?

How are you running AnythingLLM?
Docker (local)
What happened?
Trained system from about 100 pdf and text documents. Using default and built-in database. Windows 11. Docker image pulled around 18 hours ago.
Admin user gets answers from trained docs as expected.
Non-admin users get raw Ollama llama3.0 LLM answers with correct citations.
Tested with exact same questions and other basic questions. 100% of the time the Admin user gets the correct answer text that shows the trained docs have been accessed and 4 citations contain parts of the answer text as expected.
Default user gets raw LLM answer (often comically wrong) with 'correct' 4 citations that contain question text listed (for those questions that are the same).
Tested in Firefox, Chrome and Edge, both regular browser and incognito sessions.
User is set as 'Default'. User is added to workspace.
Work around is to have all users log in as Admins and requested not to change any settings.
Are there known steps to reproduce?
No response

This is not how the implementation of the RAG system works, or should work. Everyone has the same access to documents in the same workspace, so sending a prompt in a workspace the only user-specific information is the current chat/thread history sent by that specific user.
I think there is either a misunderstanding or some other detail missing from this issue that is leading to worse RAG performance at this time.
This part:

Default user gets raw LLM answer (often comically wrong) with 'correct' 4 citations that contain question text listed (for those questions that are the same).

is quite odd as the citation should not exist at all unless it was explicitly used in the response generation 🤔

I have a similar issue where I've added documents to a workspace that have all been embedded and all seems to be fine, but when a question is asked, RAG is never used to answer the questions. Is there a specific configuration for this that i've missed? I tried with many users and with a different thread in the same workspace but still no luck in getting RAG to work at all. (I'm using groq with Llama 8b as my LLM)

Okay, problem solved, it happened to be due to the 'Document similarity threshold' setting i had which was [> .75]. All citations that are returned are almost always less than .75, so changing it to [>.50] fixed my issue completely.

I am stunned that this bug is closed as 'not planned'.
Since I discovered this issue on May 27, my team of 20 people have been in limbo.
Since they cant log in as anything other than admin, they have been emailing me their LLM questions, I copy/paste into the interface, and copy/paste/email the results back while we wait for this function to be fixed.
Since its now clear that multi user accounts is not a planed feature, I feel the rug has been pulled out from under myself and the entire team.
I hope the docs and features etc for this project are updated and made clear that everyone must log in as ADMIN.

Since its now clear that multi user accounts is not a planed feature, I feel the rug has been pulled out from under myself and the entire team.

We have multi-user accounts.
The issue was closed because the user said it was solved by changing their similarity score.
@thebaldgeek If you have made everyone an admin you are doing something very wrong. The queries someone sends have zero impact on what documents they can see. If you are able to provide any reproducible example of the same query being sent in the same workspace and the only difference being a user role - I would like to review it myself.
Documents are not even partitioned by userspace or role, everyone chats with the same documents in a workspace regardless of role. The role simply limits who can manage the documents in a workspace. If you want users to be able to make their own workspaces, make them a manager, not an admin. Then they can make their own workspaces and upload their own documents.


python-runtime: wrong casting in lambda context method

PR for issue: https://github.com/sst/sst/issues/3730

Thanks, I'll tell the team.

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


Discussion: Using CodeFrame reporter in non-CI environment by default

In development environments we want to help users find and fix their issues as fast as possible. CodeFrame formatter helps identifying the issue quickly.
Using is-ci we can detect the environment and render errors using codeFrame.

CodeFrame formatter needs some improvements. First it needs to show the range not just a point (https://github.com/babel/babel/issues/5064) and second it should highlight TypeScript better. Current syntax highlighting in codeFrame is pretty JS specific and seems to be hand made. It can probably use some package for syntax highlighting.

@mohsen1 what are your thoughts on the stylish reporter as a default in the interim? I've found myself pretty much always gravitating towards it.

Subjectively, stylish - it has a lot better rule density. codeframe tends to work better in tall consoles because of how sparse it is and AFAIK VSCode users are less likely to want that behavior. This is a gut feeling that might be wrong, but it seems like stylish would be a good first step regardless.

VSCode has this "clickable" file path and line/column number format that I would love to see default tslint export supports

💀 It's time! 💀
TSLint is being deprecated and no longer accepting pull requests for major new changes or features. See #4534. 😱
If you'd like to see this change implemented, you have two choices:

Recommended: Check if this is available in ESLint + typescript-eslint ✅
Not Recommended: Fork TSLint locally 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


Hook flux secrets up to BoltDB

I am able to put secrets into BoltDB in OSS via the API and list them out via the API.
When I query them via Flux with the same code I use in production cloud:
secrets.get(key: "mysecret")
I get:
error in evaluating AST while starting program
{"code":"not found","message":"error in evaluating AST while starting program","error":{"code":"not found","message":"error calling function "get"","error":{"code":"not found","message":"secret not found"}}}

Issue moved to influxdata/flux #1885 via ZenHub


FD CAN not supported by ESP32

Since many vehicles have CAN-FD/FlexCAN busses which the ESP32 internal CAN does not support, it would be highly desirable to support an external CAN-FD interface on SPI,  for example the MCP2518FD.
In any case a typical eVCU really needs more than one CAN interface, ideally 3, so extending the framework to support multiple CAN busses would likely be a requirement going forward anyway.

That sounds like a very reasonable and useful extension that could easily be implemented with the DeviceSPI base class (see TeslaShunt as an example SPI implementation). Admittedly, you seem to have more experience with CAN busses than I do. Would you be willing to take over this implementation?


[ES] More ideas and little changes

Windows版本:(请给出详细信息,如Windows 10 19045) Windows 11 24H2 26100
应用版本:(Lite版请在版本号前注明) v <IP_ADDRESS>

此功能请求是否与问题/Bug有关？请描述
[可选]如果此功能请求与问题/Bug有关,请在此描述
功能内容
描述你希望实现的功能

Translate all words in spanish (I finished) https://crowdin.com/project/fluent-weather/es-ES.

More space between

实现方法
[可选]简要描述你的实现方法
其他信息
[可选]描述相关信息

Thanks for your translations!
I‘ve added spanish language and fixed some UI alignment problems and these will be released in the next version.

Due to our preference for viewing the highest temperature at first, I highlighted the high temperature
And the city name being too long is an issue with the Bing Maps API. You can click on "More Options" when selecting a location to customize the location name


Need proper alignment

Need to realign the GitHub button present in the sidebar

I would like to work on this issue, under GSSoC'22. Can you please assign it to me?

Can you assign me this ?
I can work on it.

Is this issue still available to work ?

Could you please assign me this work , im ready to do it

Hello, I am a GSSoC'24 contributor looking forward to working on this project. please assign this to me


[Bug]: Exception calling ctor with one argument

What happened?
Ctor error when trying to run this like I did before.
How to reproduce it
Clone develop branch, run steps like I do.
Expected behavior
It working without throwing errors.
Screenshots or Logs

PS C:\Users\me\Downloads\monk> Import-Module .\monkey365

PS C:\Users\me\Downloads\monk> $param = @{
    Instance = 'Microsoft365';
    Analysis = @("SharePointOnline","Microsoft365","ExchangeOnline","SharePointOnline","PurView","MicrosoftTeams");
    PromptBehavior = 'SelectAccount';
    IncludeEntraID = $true;
    ExportTo = @("CSV","JSON","HTML");
}

PS C:\Users\me\Downloads\monk> $assets = Invoke-Monkey365 @param

[ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" argument(s): "De opgegeven padindeling wordt niet ondersteund."
At C:\Users\me\Downloads\monk\monkey365\core\init\New-O365Object.ps1:240 char:13
+             throw ("[ParameterError] {0}: {1}" -f "Unable to create M ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: ([ParameterError...t ondersteund.":String) [], RuntimeException
    + FullyQualifiedErrorId : [ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" argument(s): "De opgegeven padindeling wordt niet ondersteund."```

**From where are you running Monkey365?**
Please, complete the following information:
 - Resource: [Docker container, workstation)
 - OS: [e.g. Windows, Linux, etc. ]
 - PowerShell Version [`$PsVersionTable`]:
 - Monkey365 Version:
 - Others:

**Additional context**
Add any other context about the problem here.

Fun addition, this only happens when I run monkey in powershell ISE, I just got it working in regular powershell

Hi @joostgrunwald, thanks for letting me know about that.
Monkey365 is not designed to work on PowerShell ISE, due to it is not longer maintained by MS. Having said that, I cannot reproduce your issue. I've tested the latest dev version of Monkey365 on several instances and I cannot reproduce it, as shown below:

Could you please let me know if it happens again? According to the error message it seems that a variable contains an invalid path format, but it is not clear to me.
Thanks!

Invoke-Monkey365 @param
[ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" argument(s): "The specified
path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the
directory name must be less than 248 characters."
At C:\m\core\init\New-O365Object.ps1:240 char:13

        throw ("[ParameterError] {0}: {1}" -f "Unable to create M ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: ([ParameterError...48 characters.":String) [], RuntimeException
FullyQualifiedErrorId : [ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" a
rgument(s): "The specified path, file name, or both are too long. The fully qualified file name must be less than
260 characters, and the directory name must be less than 248 characters."

Hi @mkannan22,
This isn't a monkey365 issue, and the exception is clear enogh (The path is too long). You have multiple options to resolve it, such as producing shorten paths or enabling Long File Paths in Windows 10.
Cheers,

PS C:\m> Invoke-Monkey365 @param
[ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" argument(s): "The given path's
format is not supported."
At C:\m\core\init\New-O365Object.ps1:240 char:13

        throw ("[ParameterError] {0}: {1}" -f "Unable to create M ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: ([ParameterError...not supported.":String) [], RuntimeException
FullyQualifiedErrorId : [ParameterError] Unable to create Monkey365 object: Exception calling ".ctor" with "1" a
rgument(s): "The given path's format is not supported."

Hey @mkannan22,
Tested it with multiple versions of PowerShell and OS and I can't reproduce it. Could you please provide more info about how to import it, how to execute it, OS version in use, PS version, etc.. that would be great.
Thanks!

Test on Windows 10 latest build and Windows 11 latest build. PowerShell version:
Name                           Value

PSVersion                      5.1.22621.2506
Import-Module Invoke-Monkey 365
Import-Module every PS script found in all folders
$param = @{
Instance = 'Microsoft365';
Analysis = @("SharePointOnline","Microsoft365","ExchangeOnline","PurView","MicrosoftTeams");
PromptBehavior = 'SelectAccount';
IncludeEntraID = $true;
ExportTo = @("CSV","JSON","HTML");
}
$assets = Invoke-Monkey365 @param

Hi @mkannan22,
As far as I can see from your last comment that you're importing monkey365 incorrectly. Please, see docs about how to import a PowerShell module.
https://silverhack.github.io/monkey365/install-instructions/
https://learn.microsoft.com/en-us/powershell/scripting/developer/module/importing-a-powershell-module?view=powershell-7.3
Cheers,


How to run example codes

I tried to use DeepSpeed with the examples in DeepSpeedExamples. However, I couldn't find any explanation about input data such as $SQUAD_DIR or $MODEL_FILE in the shell script. Can you give me some details to run the code?

Thanks for using DeepSpeed. We have just updated the shell scripts. Can you please retry to see if your questions are resolved?

@tjruwase Thanks for your work!


Update install-azure-cli.md.

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Error when get composition container: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information., loader exceptions: Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'., Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'., Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'., Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'., Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'., Could not load type 'Microsoft.DocAsCode.Plugins.ICanTraceContextInfoBuildStep' from assembly 'Microsoft.DocAsCode.Plugins, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
[Error] System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeAssembly.get_DefinedTypes()
at System.Composition.Hosting.ContainerConfiguration.<WithAssemblies>b__0(Assembly a)
at System.Linq.Enumerable.<SelectManyIterator>d__142.MoveNext() at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor(IEnumerable1 types, AttributedModelProvider attributeContext)
at System.Composition.Hosting.ContainerConfiguration.CreateContainer()
at Microsoft.DocAsCode.Common.CompositionUtility.GetContainer(IEnumerable1 assemblies) at Microsoft.DocAsCode.Build.Engine.DocumentBuilder..ctor(IEnumerable1 assemblies, ImmutableArray`1 postProcessorNames, String templateHash, String intermediateFolder, String commitFromSHA, String commitToSHA)
at Microsoft.DocAsCode.SubCommands.DocumentBuilderWrapper.BuildDocument(BuildJsonConfig config, TemplateManager templateManager, String baseDirectory, String outputDirectory, String pluginDirectory, String templateDirectory)
at Microsoft.DocAsCode.SubCommands.DocumentBuilderWrapper.BuildDocument()

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Closing to rerun build

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thanks, @allclark!

@twitchax,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/Azure/azure-docs-cli-python, working directory: W:\ruj5-s, target branch: live, target branch commit: 2fbfafa970ee8780378303853de50864adf5d4f3, source branch: 746fc093004364d810dc1e0fd79b57d3/twitchax-patch, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

The install instructions (correctly) no longer reference the -it options; this is an install-only. In the future we may want to revisit instructions on using the CLI with Docker.


Missing stub file

Umm, suddenly after updating the extension stopped working for pyfbsdk and i noticed that there's missing stub file for it.

Ah, I moved where the extension stores it's data. And so the old stub file will indeed have been deleted with the latest update.
Try running the command MotionBuilder: Setup Code Completion (Through VS Code's command palette Ctrl + Shift + P)

Yeah but it's messed up on my end i think. I did a clean install of VSCode to be sure. Apparently now VSCode stores it's data in the .vscode/extensions folder. And default location of the MotionBuilder: Setup Code Completion is leading to AppData/Roaming.. etc. in which there is nothing there. Still only have 3 *pyi files:
callbackframework.pyi
pyfbsdk_additions.pyi
pythonidelib.pyi

Seems like I forgot to pass the recursive flag when creating the %AppData%\Code\User\globalStorage\nilssoderman.mobu-utils\stubs directory, so therefore it fails.
Will push a fix for this tonight. But in the meantime if you want to get this up and running, either manually create this folder:  %AppData%\Code\User\globalStorage\nilssoderman.mobu-utils\stubs or choose a custom location after running the MotionBuilder: Setup Code Completion command.
Thanks for reporting this!

awesome, thank You! :)

This has now been fixed with 2025.0.1.
Again, thank you for reporting this issue! :)


migrate repo to zarr-developers

This was signed off by @krokicki, but before doing so I should put some attribution on the README that indicates that this project was funded by HHMI at JRC

I have added the attribution in the readme, and the repo transfer is complete


Consistently get extensions from FileTypes.h

...instead of sometimes hardcoding them and sometimes using Strings.h. The exceptions are the libraries that sit below Frontend; these can continue using strings.
There's one semantic change here, which is that LLVM IR files mistakenly had the extension "ir" instead of "ll" before. Nothing was actually depending on this until now, though.

@swift-ci Please smoke test

@swift-ci Please smoke test

Seems reasonable to me. I haven't looked through all of the details though.

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha -<PHONE_NUMBER>aa38e22146f5b082039dcec4e8b5b0

Build failed
Swift Test Linux Platform
Git Sha -<PHONE_NUMBER>aa38e22146f5b082039dcec4e8b5b0


error validating affinity

What happened?
When I try to upgrade to the latest version (0.33.1) from the version 0.27.5, I have this error :
Error: UPGRADE FAILED: error validating "": error validating data: [ValidationError(StatefulSet.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[1].podAffinityTerm.labelSelector.matchLabels.app): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector.matchLabels: got "map", expected "string", ValidationError(StatefulSet.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[1].podAffinityTerm.labelSelector.matchLabels.cluster-name): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector.matchLabels: got "map", expected "string", ValidationError(StatefulSet.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[1].podAffinityTerm.labelSelector.matchLabels.release): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector.matchLabels: got "map", expected "string"]

Did you expect to see something different?
No error
How to reproduce it (as minimally and precisely as possible):
Just copy this data in the affinity section of the value.yaml :
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      podAffinityTerm:
        topologyKey: "kubernetes.io/hostname"
        labelSelector:
          matchLabels:
            app: '{{ template "timescaledb.fullname" . }}'
            release: "{{ .Release.Name | quote }}"
            cluster-name: '{{ template "clusterName" . }}'
    - weight: 50
      podAffinityTerm:
        topologyKey: failure-domain.beta.kubernetes.io/zone
        labelSelector:
          matchLabels:
            app: {{ template "timescaledb.fullname" . }}
            release: {{ .Release.Name | quote }}
            cluster-name: {{ template "clusterName" . }}

Environment

Which helm chart and what version are you using?
timescaledb-single 0.33.1

What is in your values.yaml ?

affinity:
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      podAffinityTerm:
        topologyKey: "kubernetes.io/hostname"
        labelSelector:
          matchLabels:
            app: '{{ template "timescaledb.fullname" . }}'
            release: "{{ .Release.Name | quote }}"
            cluster-name: '{{ template "clusterName" . }}'
    - weight: 50
      podAffinityTerm:
        topologyKey: failure-domain.beta.kubernetes.io/zone
        labelSelector:
          matchLabels:
            app: {{ template "timescaledb.fullname" . }}
            release: {{ .Release.Name | quote }}
            cluster-name: {{ template "clusterName" . }}

// other stuff is useless here to reproduce

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.8", GitCommit:"4a3b558c52eb6995b3c5c1db5e54111bd0645a64", GitTreeState:"clean", BuildDate:"2021-12-15T14:52:11Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.16-eks-ffeb93d", GitCommit:"52e500d139bdef42fbc4540c357f0565c7867a81", GitTreeState:"clean", BuildDate:"2022-11-29T18:41:42Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:
EKS 1.22 managed by rancher

Any news about that ? It's really annoying and block us to upgrade to latest chart version

We had a similar issue.
It looks like in https://github.com/timescale/helm-charts/commit/fd2f21a02a6c50c47ccaab3dc39bb89cf620d308#diff-3210395104e9712528afa7119350e6250761db18b886c36af3e1dc600733fcfaL464
they removed tpl function, and now you have to define it using simple values like:
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      podAffinityTerm:
        topologyKey: "kubernetes.io/hostname"
        labelSelector:
          matchLabels:
            app: "timescaledb"
            release: "timescaledb"
            cluster-name: "timescaledb"
    - weight: 50
      podAffinityTerm:
        topologyKey: failure-domain.beta.kubernetes.io/zone
        labelSelector:
          matchLabels:
            app: "timescaledb"
            release: "timescaledb"
            cluster-name: "timescaledb"

In summary, the current upgrade guide is either incorrect or lacks logic (missing tpl processing affinity).