hi
Please remove the offline_access from oAuthConfig to disable the refresh token.
const oAuthConfig = {
responseType: 'code',
scope: 'offline_access MyProjectName'
};
We could write an angular interceptor and use o-auth service to invalidate the token. This will not work for mvc sites
Did you select the Remember me when you login MVC website?
The default authentication cookie of MVC is session. It will be invalid after closing/quitting the browser.
hi
You can try to create a new 7.1.0 project and compare the code.
The blazor wasm project needs to run abp bundle to update the js and css code.
How-to-customize-an-ABP-project
https://support.abp.io/QA/Questions/160/How-to-customize-an-ABP-project
hi
The project you shared is incomplete.
You can add "@volo/chat": "~7.1.0" to your packages.json and run abp install-libs command.
The project file "CustomChatBotModuleWithVolo.ChatModule/src/ten3.ChatBot.GenerateCodeFromSpecFiles.Console/ten3.ChatBot.GenerateCodeFromSpecFiles.Console.csproj" was not found.
hi
namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Views.Error.DefaultErrorComponent;
public class LeptonErrorViewComponent
Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton/Views/Error/DefaultErrorComponent/LeptonErrorViewComponent.cs
https://docs.abp.io/en/abp/latest/UI/AspNetCore/Customization-User-Interface#overriding-a-page-model-c
hi
Considering that sqlite is more similar to the actual database
https://learn.microsoft.com/en-us/ef/core/testing/
hi
https://support.abp.io/QA/Questions/632/How-can-I-download-the-source-code-of-the-framework-Angular-packages-theme-and-pro-modules
hi
You can rename your SearchModel class to MySearchModel or inherit the Volo.Docs.Pages.Documents.SearchModel.
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(SearchModel), typeof(MySearchModel))]
public class MySearchModel : SearchModel
{
private readonly IProjectAppService _projectAppService;
private readonly IDocumentAppService _documentAppService;
private readonly HtmlEncoder _encoder;
public MySearchModel(
IProjectAppService projectAppService,
IDocumentAppService documentAppService,
HtmlEncoder encoder)
: base(projectAppService, documentAppService, encoder)
{
_projectAppService = projectAppService;
_documentAppService = documentAppService;
_encoder = encoder;
}
public override async Task<IActionResult> OnGetAsync(string keyword)
{
if (!await _documentAppService.FullSearchEnabledAsync())
{
return RedirectToPage("Index");
}
KeyWord = keyword;
Project = await _projectAppService.GetAsync(ProjectName);
var output = await _projectAppService.GetVersionsAsync(Project.ShortName);
var versions = output.Items.ToList();
if (versions.Any() &&
string.Equals(Version, DocsAppConsts.Latest, StringComparison.OrdinalIgnoreCase))
{
if ((!Project.ExtraProperties.ContainsKey("GithubVersionProviderSource") ||
(GithubVersionProviderSource) (long) Project.ExtraProperties["GithubVersionProviderSource"] ==GithubVersionProviderSource.Releases) &&
!string.IsNullOrEmpty(Project.LatestVersionBranchName))
{
Version = Project.LatestVersionBranchName;
}
else
{
Version = (versions.FirstOrDefault(v => !SemanticVersionHelper.IsPreRelease(v.Name)) ?? versions.First()).Name;
}
}
SearchOutputs = await _documentAppService.SearchAsync(new DocumentSearchInput
{
ProjectId = Project.Id,
Context = KeyWord,
LanguageCode = LanguageCode,
Version = Version
});
var highlightTag1 = Guid.NewGuid().ToString();
var highlightTag2 = Guid.NewGuid().ToString();
foreach (var searchOutput in SearchOutputs)
{
for (var i = 0; i < searchOutput.Highlight.Count; i++)
{
searchOutput.Highlight[i] = _encoder
.Encode(searchOutput.Highlight[i].Replace("<highlight>", highlightTag1)
.Replace("</highlight>", highlightTag2))
.Replace(highlightTag1, "<highlight>").Replace(highlightTag2, "</highlight>");
}
}
return Page();
}
}
hi
I think it's impossible by default.
https://docs.abp.io/en/commercial/latest/modules/chat