TODO:Review the design of the OSSP-master.js

@asa1997 @jobyko please review the design of the OSSP-master.
Indicative design of the JSON.
{
    "id": xx,                                                            //same as tracking_id
    "bes_tracking_id": xx,                                     //github_request_id
    "name": "somename",                                    //lookup to be used for string search
    "description": "Some description",
    "cvedetails":{                                                  // cvedetails
        "bes_cve_details_id": xx,                           // will have a bes_cve_details if be-secure team identifies additional cves.
    	"cvedetails_product_id": "",                      // cvedetails.com product id for lookup
    	"cvedetails_vendor_id": ""},                      // cvedetails.com vendor id for lookup
         "bes_tech_stack": {                                   //bes tech stack
              "type": "A",
              "sub_category": "Monitoring"
          },
          "project_repos" : {                                                                                // All project repos for the project
                                  "main_github_url": "https://github.com/xxx/xxx",                     // main project repo
                                   "main_bes_url": "https://github.com/Be-Secure/xxx",            // main bes repo
                                   "all_projects" : {                                                                          // hash of all projects and their repos
                                          "main_project_xxx" : ""https://github.com/xxx/xxx",
                                          "sub_project_xxx":"https://github.com/xxx/xxx"
                                    }
                                   "all_bes_repos":  {                                                                      // hash of all project forked in bes and their repos
                                           "sub_project_xxx":"https://github.com/Be-Secure/xxx"
                                     }
     licenses : {                                                                                // All applicable licenses
      "apache-2.0": {
                      "key": "apache-2.0",
                      "name": "Apache License 2.0",
                     "spdx_id": "Apache-2.0",
                       "url": "https://api.github.com/licenses/apache-2.0",
                       "node_id": "MDc6TGljZW5zZTI="
          },
      "BSD": {
                      "key": "BSD",
                      "name": "BSD",
                     "spdx_id": "BSD"
          },

       },
         "language": [                                                                                // development languages
	            "python",
	            "html"
	     ],
        "tags" :{
               //tags applicable based on different Domain
               // 1. industry : IND,
               // 2. Security Domain: SD,
                //  3.Community:COM,
                // 4. Technology Usage:TD-U,
                //5.  Technology Components and/or Composition : TD-C
    "IND": [
	"BFSI",
	"HLS"
	],
    "SD": [
	"SD-SRM",
	"SD-IoTS"
	],
   "COM": {
        "foundation": [
	"LF",
	"HYPERLEDER"
	],
        "organisation": "open-xxx"
    },
    "TD-C": [
	"TD-C-CA",
	"TD-C-S",
	"TD-C-WA"
	],
    "TD-U": [
	"TD-U-W",
	"TD-U-AI/ML"
	],
  }
 }

Do we need a separate tracking id when we intend to use bes-tracking-id for tracking purpose and it is based off our github request id. We should only use the bes-tracking-id

It is "bes_tracking_id " not "bes-tracking-id". This will be same as github TR Id for projects that are requested and tracked on GitHuB  , however if projects are also tracked on moved to Gitlab/or any other code repository , bes_tracking_id will be the correlation id..


Could not load type 'MockTest.MockAzureKeyVaultSecret.MockAzureKeyVaultSecretProvider.'MockTest, Version=1 <IP_ADDRESS>, Culture=neutral, PublicKeyToken=null''

Hello,
I am using the insider bcpreview image and I am not able to compile the Test toolkit objects after the container is created.
I am getting this:
Could not load type 'MockTest.MockAzureKeyVaultSecret.MockAzureKeyVaultSecretProvider.'MockTest, Version=1
<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null''. -- Object: Codeunit 131021 Library - Azure KV Mock Mgmt.
[23462397] You have specified an unknown variable.
MockAzureKeyVaultSecretProvider
Define the variable under 'Global C/AL symbols'. -- Object: Codeunit 131021 Library - Azure KV Mock Mgmt.

I am using this command to compile the objects to be able to download symbols including the toolkit:
    Compile-ObjectsInNavContainer -containerName $ContainerName -filter "Version List=*Test*"

If it just is about getting the symbols, I am downloading from
https://hostname:7049/NAV/dev/packages?publisher=Microsoft&appName=Test&versionText=<IP_ADDRESS>
Or do you specifically need to compile?

Yes, I need symbols for the Test Toolkit. And they are not part of the symbols until you compile the objects with the parameter to generate symbols.

Are you sure? I just import the fobs and the download the .app file through the URL above without needing to compile

if you use navcontainerhelper - start the container with -enableSymbolLoading and -includeCside - then it automatically will create symbols when importing

And if you don't use navcontainerhelper, you can add the generatesymbols parameter to your import, no need to compile.

For me the following works without compiling or generatesymbols
Get-ChildItem -Path "C:\TestToolKit\*.fob" | foreach {
    $objectsFile = $_.FullName
    Import-NAVApplicationObject -Path $objectsFile `
                                -DatabaseName $databaseName `
                                -DatabaseServer $databaseServer `
                                -ImportAction Overwrite `
                                -SynchronizeSchemaChanges Force `
                                -NavServerName localhost `
                                -NavServerInstance NAV `
                                -NavServerManagementPort 7045 `
                                -Confirm:$false
}

$testURL = 'https://'+$hostname+':7049/NAV/dev/packages?publisher=Microsoft&appName=Test&versionText='+$release
Invoke-RestMethod -Method Get  `
                  -Uri ($testURL)  `
                  -Headers $headers  `
                  -OutFile 'c:\ForBuildStage\symbols\Test.app'

Am I missing something?

I don't think you get symbols from the objects you import - do you?

I do get a Test.app file and was assuming that it is from the TestToolKit fobs. I'll check what exactly is in there

Check whether you have the assert codeunit in VSCode?

I am using enableSymbolLoading when creating the container but the toolkit objects imported through includeTestToolkit are not available in the symbols. Thus I am recompiling them to get them.

May be old version used? Right now having NavContainerHelper version <IP_ADDRESS>

I fixed this in <IP_ADDRESS> - https://www.powershellgallery.com/packages/navcontainerhelper/<IP_ADDRESS>

Ok, do not need to recompile now... but still, is the dll missing?

There are objects using .net DLLs that cannot compile in docker. For this particular one - I am not sure what is missing or whether it is something we should have in there - I don't think so but I will ask around.

Ok, here is my test:

Create a plain NAV Container, just docker run with no scripts or anything. Windows auth to avoid any username/password stuff

docker run -e accept_eula=y -e auth=Windows -e username=tfenster -e password=xxx --name testtfe --hostname testtfe microsoft/bcsandbox

result
Initializing...
Starting Container
Hostname is testtfe
PublicDnsName is testtfe
Using Windows Authentication
Starting Local SQL Server
Starting Internet Information Server
Modifying Service Tier Config File with Instance Specific Settings
Starting NAV Service Tier
Creating DotNetCore Web Server Instance
Enabling Financials User Experience
Creating http download site
Creating Windows user tfenster
Setting SA Password and enabling SA
Creating SUPER user
Container IP Address: <IP_ADDRESS>
Container Hostname  : testtfe
Container Dns Name  : testtfe
Web Client          : http://testtfe/NAV/
Dev. Server         : http://testtfe
Dev. ServerInstance : NAV

Files:
http://testtfe:8080/al-0.16.16948.vsix

Initialization took 83 seconds
Ready for connections!

Try to download test symbols

iwr -uri "http://testtfe:7049/NAV/dev/packages?publisher=Microsoft&appName=Test&versionText=<IP_ADDRESS>" -usebasicparsing -outfile test.app -UseDefaultCredentials

This gives me a test.app file, so it seems something is already there?

Connect a hello world project against it and configure test support in app.json

{
  ...
  "test": "<IP_ADDRESS>"
}

Download symbols and then try to use Assert

pageextension 50100 CustomerListExt extends "Customer List"
{
    trigger OnOpenPage();
    var
        Assert: Codeunit Assert;
    begin
        Assert.Fail('This does not work');
    end;
}

Compiling works, so it seems to be part of the symbols file. But running this results in the following error:
Das Objekt vom Typ CodeUnit mit der ID 130000 wurde nicht gefunden.
--> translation is something like "The object of type Codeunit with ID 130000 was not found"
Page Customers has to close

If I use C/SIDE to look into the database I see that Codeunit 130000 indeed isn't there. So maybe because of the test objects which are already in the Cronus database (130400..) the symbols are there?

And of course if I then import the test toolkit fobs, it works for me. The symbols already were available before the import and the objects after the import are also available

So apparently, there is a bug, which saves you (you are lucky:-))
The symbols generated from the build process leaves these things there.
In order to do hybrid development you need to add -e enableSymbolLoading=Y to your docker run.
Now the symbols probably disappear - but this is needed if you change other things in C/AL.
When you import objects you need to set generatesymbols=1 for finsql.
Import-NavApplicationObject unfortunately do not have a generatesymbols, so you need to use finsql directly (or use the same hack as I did here https://github.com/Microsoft/navcontainerhelper/blob/dev/ObjectHandling/Import-TestToolkitToNavContainer.ps1 while waiting for a bugfix).

ok, lesson learned :) Thanks

There are objects using .net DLLs that cannot compile in docker. For this particular one - I am not sure what is missing or whether it is something we should have in there - I don't think so but I will ask around.

Did you find out what DLLs is needed for compiling those AutoTest objects?


QUESTION: Should I merge connector libraries into the main repository?

Hi there,
When I created sqlpp11, I decided to place the connector libraries into separate repositories.
These days I wonder if that was the right decision? I am tempted to merge the connectors into the main repository. In particular when changing the interface (like what's currently happening with the transaction isolation level), it would certainly be easier to have just one repo.
It would also be easier for contributors: You could write a connector library, add it to the main repo without the obligation to maintain it forever.
On the other hand, sqlpp11 would grow quite a bit that way. You would need to checkout connector code that you might not be interested in. Also, neither can I test all connectors myself, nor can appveyor or travis.
I'd be interested to learn about your opinions.
Thanks,
Roland

Separate repos, but with tighter control from the core team.

Agreed. While sqlpp11 is currently header-only, the connectors are compiled. Being able to just include specific connectors (or write your own) is a great way to go instead of macro enabling.
That said, I see connectors as an extension of sqlpp11. So if there is some feature provided by the connector - i.e. transaction levels - that isn't common to all/most sql then it should be up to the connector to provide the additional overloaded functionality where possible. It might be nice to do some testing mechanism to make sure a connector conforms to what is required by sqlpp11.

I agree they should be separate repos. As for the integration, what about git submodules or git-repo? That way, one can check out the optional connector from within the working copy of the library. I have no experience with any of them, but they seem to fit the bill.
I think testing can be automated in the same way, simply by activating/deactivating the tests depending on whether or not the submodule was checked out.
Regarding connector contributions "that one might not want to maintain forever", I think communication is the key: if the original developer wants, he can simply let @rbock fork it and regard the fork as the "main" repo.

Since we're using CMake we could add it if it is enabled in cmake using add_subdirectory. We could do this using git submodules or by merging. We could also design sqlpp11 to be useable as an add_subdirectory for another project so they wouldn't need to have it installed on the system.

I just experienced that implementing a change in the core and several connectors can be quite a hassle (and will result in lots of unsuccessful CI builds) as the branches do not sync well. Being able to branch the core and all connectors at once might be helpful, but on the other hand that should also be solvable with some changes to the CI config.
I  see some issues with regards to submodules and pull requests (see e.g. https://stackoverflow.com/questions/7174347/what-is-a-good-workflow-for-submodule-forks for a discussion), but think that would be the most "standard" way of doing this without actually merging the repos.
Having "central" copies of the repos for all connector might be helpful as e.g. the PostgreSQL connector seems to be "inactive" at the moment. Might be matthijs is just on vacation or busy at the moment, or he stopped maintaining. In that case a central copy for further development would help.

After thinking about it, I've changed my opinion. If we merge the connectors with each connector in a subdirectory and use add_subdirectory it would be easy for projects dependant on sqlpp11 and a connector and for package maintainers to enable what they need.
I'm not sure that submodules are all that necessary. I don't have experience with setting up CI but I'd bet it is easier to do when you don't have to checkout each submodule wouldn't need to set up their own CI. Having everything in a single repo would make it much easier for connectors to implement new breaking changes. Also it'd be easier to ensure there's standard tests for each connector.

Thanks for the all your input!
I'll merge connectors into the main repository some time soon.*

the current situation with the postgresql connector is not good, @cszawisza does not have the time to maintain his fork, @matthijs is nt answering to pull requests or emails. Of course, somebody could create yet another fork, but I'd rather see more people working on the main repository than being thinned out.
Having everything in one repository makes it so much easier to add new features and test them with the various connectors. Especially if you have to do testing via CI.
Of course, new connectors could still be in separate repositories. Thus, experimental stuff could mature and later be merger (or never, that's up to the individual developers).
FYI, I already added some connector-specific code to the sqlpp17 draft. Feels good :-)

I'll start with mysql and sqlite3 and then move on to postgresql. Since I am currently not using postgresql, I might need some help with the migration. In particular, there are some pull requests applied to @cszawisza's branch that are not applied to @matthijs' branch and vice versa.
Best regards,
Roland

"soon" being when I find some spare hours to do this.

That sounds great. Another good point why this is useful: I just now saw that @cszawisza's fork existed, and realized some of my changes are already in there. Will make life easier :+1:

I fully subscribe to your rationale.  As a postgresql user, I do suffer from the issues of "forks".  Having a central one with changeable owners avoids the thinning.  I shared all my changes to @cszawisza after not hearing from @matthijs.  IMHO, @cszawisza's fork is the most up to date.
I'm ok to participate to the testing of the connector and, as for all of us, as time permits.

Hi! I've finally managed to merge all changes from my fork into upstream @matthijs repo, also I'm closing all issues that I think are now fixed.
To clarify current situation with postgresql connector lib, my fork will no longer by maintained, all changes will be done on @matthijs repo
And I promise to merge all requests more frequent then now :)
BTW, thanks for contribution!

Hi @cszawisza
Awesome! If I interpret the mails correctly, you have merge rights in @matthijs repo now?
Since you did not comment on the idea of merging repositories: Would you rather continue to have a separate repository for the postgresql connector? Or is the cleanup you did to be seen as preparation for merging repos?
Thanks!
Roland

Yes, I have full rights to @matthijs repo
IMHO we could add to sqlpp an option to clone requested connector via cmake
if(NOT EXISTS ${CONNECTOR_INCLUDE_DIR} AND CONNECTOR_NEEDED)
    execute_process(COMMAND git submodule update --init -- connector/foo
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
    # do some more stuff with connector lib
endif()

then simple option in cmake would clone/build/install needed library

Hi @cszawisza,
This is great news.  I'll drop my fork (that I forked from yours).  I'll update my repos on my system to point to @matthijs.

Time flies.
I added merging repositories to the wish list I am currently compiling.


[Bug] tvm fp16 much more slower than float32

I have a simple MLP model which have 3 layer fcs, I using te to build it manually and specified the dtype in each layer. the exported lib inference much more slower than float32.....
and the exported .so size is twice bigger than float32. How could this be possible?

Without HW support for fp16, fp16 compute will be emulated via software. So it is not surprising that the generated code is bigger than fp32.
Please post basic usage questions to the forum.

@masahi thanks. I am using iPhone12 realphone, which obisouly support fp16. But the generated .a size, bigger than float32, speed slower.

You need to tell TVM that your target has native fp16, otherwise we can't generate fp16 code. See my forum post answer.

@masahi thanks, I have gened the lib with llvm config:
llvm arm64 -mtriple=iphoneos-apple-darwin

And all te build operations using dtype = fp16, the inference memory actually shrined down, but the .a size and speed are not expected. So it actually gened fp16 .so, but somehow the .a is bigger which I can not figure out, it doesn't make sense.
And the speed slower.
Does there any examples on how to exactly gen fp16 .so or .a on iPhone 12?


https://github.com/ston-fi/sdk/issues/8#issue-2197067554

https://github.com/ston-fi/sdk/issues/8#issue-2197067554
Originally posted by @Divaneto02 in https://github.com/ston-fi/sdk/issues/8#issuecomment-2130470518

ston-fi/sdk#8 (comment)
Originally posted by @Divaneto02 in ston-fi/sdk#8 (comment)


All menu action zoom the map

All item from the menu have the same action to de-zoom the map.

Those menu items should not be displayed for now. They don't have any real action at the moment.

The UI will change a lot in the next days. I close it for now.


Risk: too much or too little design definition

#10 Issue by smattingly,
At one extreme, a pure waterfall process expects to fully define all design entities and map them to requirements before pursuing other activities. IEEE and other standards provide guidance and outlines for Software Design Description documents.
For many projects, a more realistic approach to design definition might be a combination of pseudocode, entity-relationship diagrams, UML diagrams, and/or screen mock-ups.

I would suggest spelling out the design in terms of MVC services. I think we have a good handle on it but it needs to be captured in written documentation (can be very brief).

model: MySQL database that tracks pomodoros.
views: timeclock webpage and gethub issue page.
controllers: github api

reviewed

reviewed, continues to be high risk.

reviewed, continues to be high risk, especially with new MVEC redesign.


Navigation with custom page does not complete

Hi!
We have found an issue where the Future of a navigate does not complete when using a custom DuckPage.
I was able to reproduce it in the example project, by replacing the DetailLocation implementation with the implementation below. Also remove the AuthInterceptor for easier debugging,
class DetailLocation extends Location {
  const DetailLocation();

  @override
  String get path => 'detail';

  @override
  LocationPageBuilder get pageBuilder => (context) => ModalPage(
        name: path,
        child: const DetailScreen(),
      );

  // @override
  // LocationBuilder get builder => (context) => const DetailScreen();
}

class ModalPage<T> extends DuckPage<T> {
  ModalPage({
    required super.name,
    required super.child,
    super.key,
    super.arguments,
    super.restorationId,
  }) : super(
          transitionsBuilder: (context, animation, _, child) {
            return SlideTransition(
              position: Tween(
                begin: const Offset(0.0, 1.0),
                end: Offset.zero,
              ).animate(animation),
              child: child,
            );
          },
        );
}

And I changed the implementation of one of the buttons on the root screen:
ElevatedButton(
            onPressed: () async {
              final result = await DuckRouter.of(context)
                  .navigate(to: const DetailLocation(), root: true);

              debugPrint(result?.toString());
            },
            child: const Text(
                'Push me to navigate OUTSIDE the stateful location!'),
          ),

When using the default implementation, the breakpoint on the debugPrint will be triggered. With a custom page, it is not.
I believe this is due to changes in #31 : in the navigator.dart, the onPopInvoked is only added on Material or Cupertino pages, not for custom pages.

Solution 1:
Add a hacky override with a mixin, so we can add the onPopInvoked callback on an existing Page:
mixin PopInvokedMixin<T> on Page<T> {
  @override
  PopInvokedWithResultCallback<T> get onPopInvoked =>
      _onPopInvoked ?? _defaultPopInvokedHandler;

  PopInvokedWithResultCallback<T>? _onPopInvoked;

  void setOnPopInvoked(PopInvokedWithResultCallback<T> callback) {
    _onPopInvoked = callback;
  }

  static void _defaultPopInvokedHandler(bool didPop, Object? result) {}
}

class DuckPage<T> extends Page<T> with PopInvokedMixin<T>...

Solution 2: re-add the onPopInvoked to the pageBuilder definition:
typedef LocationPageBuilder = DuckPage<dynamic> Function(
  BuildContext context,
  OnPopInvokedCallback onPopInvoked,
);

In navigator.dart:
List<Page<Object?>> _buildPages(BuildContext context) {
    final stack = widget.stack;
    final pages = <Page<Object?>>[];

    _cacheAppType(context);

    for (final l in stack.locations) {
      assert(l.pageBuilder != null || l.builder != null,
          'Location must have a builder or a pageBuilder');
      if (l.pageBuilder != null) {
        final customPage = l.pageBuilder!(context, widget.onPopPage);
        if (customPage.name == null) {
          throw const DuckRouterException('Custom pages must have a name set.');
        }
        if (customPage.onPopInvoked != widget.onPopPage) {
          throw const DuckRouterException('Custom pages must have the onPopInvoked set to the onPopPage callback.');
        }

        pages.add(customPage);
      } else {
        pages.add(_buildPage(l));
      }
    }
    return pages;
  }

Overriding a pageBuilder method:
 @override
  LocationPageBuilder get pageBuilder => (context, onPopInvoked) => ModalPage(
        name: path,
        onPopInvoked: onPopInvoked,
        child: const DetailScreen(),
      );

✅ A custom page cannot be created without comsuming the onPopInvoked parameter (or an exception is thrown)
❌ It exposes an implementation detail of the library in the Location API.

Solution 3 (did not work it out yet):

refactor DuckPage to just be a "normal" class, e.g. not extending from Page. It does have all the same properties it has now (including the super parameters).
When a pageBuilder is provided, we will create our own _DuckPage with all the parameters of the passed DuckPage class, and the onPopInvoked callback.

✅ Everything is kept inside the library.
⚠ It might be confusing for users to have a DuckPage that is not actually a Page (but we can remedy that if we rename it to something like PageData for example)

Good find! I wrote a test to reproduce it, see below. My preference would be solution 3. I think that solution is basically inevitable.  Happy to implement it in the coming days.
    testWidgets('can await navigate to custom page', (tester) async {
        final config = DuckRouterConfiguration(
          initialLocation: HomeLocation(),
        );

        final router = await createRouter(config, tester);
        final locations = router.routerDelegate.currentConfiguration;
        expect(locations.uri.path, '/home');

        int result = 0;
        router.navigate<int>(to: CustomPageLocation()).then((value) {
          return result = value!;
        });
        await tester.pumpAndSettle();
        expect(find.byType(CustomScreen), findsOneWidget);

        router.pop(1);
        await tester.pumpAndSettle();

        expect(result, equals(1));
      });

Great, let me know if I can help with something!


add logic to detect occurences of signatureCipher in stream_data formats

Occasionally, YouTube does not include the cipher key in the stream_data dict. In these cases, it uses signatureCipher instead. I've added some logic to detect this and swap the former for the latter.
In my experience, this only happens when the videos are part of a playlist, and even then only sometimes.

Due to limitations of youtube playlists you can only download the first 100 videos from the playlist. If you want to download more, you'll need to split your playlist into multiple seperate ones with 100 videos each. my question is how to set to download the 101-200, which function should be changed, or which params should be given.  it is better to show a example code, thanks.

@jayathungek  could you add a unit test for this code and then I can merge it :)

@RONNCC It seems that something has changed recently with YouTube that breaks Pytube altogether - I'm no longer able to download videos at all. I'm therefore unable to test that this functionality works as it should. It's quite late where I am, so I'll write up a more detailed issue tomorrow, but something seems to be breaking in the cipher.py module.

@jayathungek You mean #701?

@ritiek ah yes that's the one, thanks! I've installed that patch now and everything seems to be working fine.
@RONNCC I've added a unit test plus an extra mock to the tests directory. It passes the build tests on my end, so it should be good to go. let me know what you think :)

@jayathungek  Sorry can you rebase on master -- it shows. But looks good to me besides 😄
This branch has conflicts that must be resolved

@jayathungek  merged :) -- would love your assistance with fixing the CI next 😅

@RONNCC  cheers! Just checked the Travis log and it seems to think that there aren't enough spaces before the inline comment on line 111 of pytube/cipher.py. Looking at that file, I can see that there's only 1 space there. Perhaps the format checker doesn't like this?

@jayathungek  would you mind submitting a patch :)

@RONNCC I've submitted a pull request - #720 that passes the CI build. Have a look at my PR message though - I'm not entirely happy with how I've accomplished this :sweat_smile:

Hi, im trying to use the BOTm, but when i run it and after i select to download only in MP3, the bot download in MP4
please help, thanks


GetMembersForFilter() when input a search string in a filter box

Currently search in DSW Dashboards is performed on values that have been received from mdx2json. By default there is a limit of 2500 distinct values since 2013.2.
It would be great if after input a search value, then up to 2500 items whose displayed name starts with this value will be listed. ATM the search is applied to the shortened list.

For example like this:

If there's less than 2500 filter values, then search locally on a client (as in is)
If there's 2500 filter values, then send new request for filter values with this body:

{
    "DataSource": same as the 1st request,
    "Values":1,
    "Search": "user's search text"
}

This should be done by #6 fix


docs(log): Fix level name assertion in LogRecord test

Hello.
This pull request fixes the assertion in the LogRecord class test to correctly check the level name. The original assertion was checking loggerName, but I believe it should verify levelName instead.

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


Improve Concept Exercise "Fruit Picker": Add Concept arrow-functions

Getting Started
Here you can read about what Concept Exercises are and how they are structured:

What are Concept Exercises?
Concept Exercises
Concepts

If you have not done so yet, it is probably also helpful to do a couple of "Learning Exercises" (this is how they are called on the site) yourself. You can also look at the code of an existing concept exercise like bird-watcher (concept for-loops) for reference.
See the documentation above (general documentation), as well as How to implement a Concept Exercise in JavaScript.
Main Task
Currently, the exercise only associated with the concept callbacks. Arrow functions are only mentioned briefly at the end of that concept. Since being able to read and write arrow functions properly is important, they should get their own concept arrow-functions. So after this change the fruit picker exercise will unlock 2 concepts, callbacks and arrow-functions.
The new concept should explain the most important syntax variants. The introduction.md should not explain the details of what happens to this as there will be a separate concept later.
Possible resources that might help:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
https://javascript.info/arrow-functions-basics

The exercise could probably stay as is but if you have a good idea how to improve it so it incorporates the new content even better, feel free to do changes.
Don't forget to adjust the design.md file to incorporate the new content and to add the new concept in the global config.json file.
Also remove arrow functions from the callbacks concept and make sure the introduction.md of the exercise includes both concepts.
Bonus Tasks

Fix the JSDoc/typing errors that show in the test file.
Proof-read the existing concepts, exercise docs etc.
Note down potential analyzer comments in the design.md file, see design.md in Amusement Park for an example

How to proceed

First accept this issue by saying "I'd like to work on this" (no need to wait for a response, just go ahead).
Use this issue to discuss any questions you have, what should be included in the content and what not and to collect reference material.
Create a PR and set "exercism/javascript" as reviewers. Additionally you can write in #maintaining-javascript on Slack that your PR is ready for review. Once you incorporated any critical feedback that the reviewer might give you and the PR is approved, it will be merged by a maintainer.

I'd like to work on this

I would like to try to work on this


Web console support for  JenkinsPipeline builds

https://trello.com/c/KMyd8ETi
Based on https://github.com/openshift/origin/pull/7949
View Jenkins Pipeline build:

Edit Jenkins Pipeline build:

/cc @jwforres @bparees

yeah our previous discussion about the read-only view looking just like the
editable view still seems like a problem.  or did you do the thing where
you can edit it and a Save button will pop up?
On Thu, Apr 14, 2016 at 1:06 PM, Sam Padgett<EMAIL_ADDRESS>wrote:

https://trello.com/c/KMyd8ETi
Based on openshift#7949 https://github.com/openshift/origin/pull/7949
View Jenkins Pipeline build:
[image: openshift web console]
https://cloud.githubusercontent.com/assets/1167259/14536543/ed92d0e8-0240-11e6-8526-584a5a4fdf5a.png
Edit Jenkins Pipeline build:
[image: edit-jenkins-bc]
https://cloud.githubusercontent.com/assets/1167259/14536603/47332594-0241-11e6-975f-3057424c8a06.png
/cc @jwforres https://github.com/jwforres @bparees
https://github.com/bparees
You can view, comment on, or merge this pull request online at:
https://github.com/jwforres/origin/pull/54
Commit Summary

[WIP] Web console support for JenkinsPipeline builds

File Changes

M assets/app/index.html
https://github.com/jwforres/origin/pull/54/files#diff-0 (3)
M assets/app/scripts/controllers/edit/buildConfig.js
https://github.com/jwforres/origin/pull/54/files#diff-1 (82)
M assets/app/scripts/filters/resources.js
https://github.com/jwforres/origin/pull/54/files#diff-2 (2)
M assets/app/styles/_core.less
https://github.com/jwforres/origin/pull/54/files#diff-3 (2)
M assets/app/views/browse/build-config.html
https://github.com/jwforres/origin/pull/54/files#diff-4 (19)
M assets/app/views/edit/build-config.html
https://github.com/jwforres/origin/pull/54/files#diff-5 (57)
M assets/bower.json
https://github.com/jwforres/origin/pull/54/files#diff-6 (3)

Patch Links:

https://github.com/jwforres/origin/pull/54.patch
https://github.com/jwforres/origin/pull/54.diff

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jwforres/origin/pull/54

No, I can change it. Probably want to change it for Dockerfile, too.

More readonly-y ?

Yeah better, though looks like it could use some padding
On Apr 14, 2016 4:30 PM, "Sam Padgett"<EMAIL_ADDRESS>wrote:

More readonly-y ?
[image: openshift_web_console]
https://cloud.githubusercontent.com/assets/1167259/14542628/f469961e-025d-11e6-9553-b29fea92e9d7.png
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jwforres/origin/pull/54#issuecomment-210135201

jenksfiles are likely going to be really long in real world use, so i'm wondering if we even want to display it in the readonly view.  or at least have it hidden by default or something?  Otherwise they're going to scroll triggers off the page (unless triggers is moved above) and in general just look like a wall of text.

We set a max height on the editor and it internally scrolls.
On Apr 15, 2016 9:13 AM, "Ben Parees"<EMAIL_ADDRESS>wrote:

jenksfiles are likely going to be really long in real world use, so i'm
wondering if we even want to display it in the readonly view. or at least
have it hidden by default or something? Otherwise they're going to scroll
triggers off the page (unless triggers is moved above) and in general just
look like a wall of text.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jwforres/origin/pull/54#issuecomment-210460001

by editor you mean the read-only editor too?

Yes
On Apr 15, 2016 9:24 AM, "Ben Parees"<EMAIL_ADDRESS>wrote:

by editor you mean the read-only editor too?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jwforres/origin/pull/54#issuecomment-210463118

Ok. concerns addressed.

just the one question otherwise i think this is ready to be merged

@jwforres updated

Merge conflict

Rebased.


Incorporate stopwords in keyword extraction

Hello and first of all great API,
Is there a way to allow the incorporation of stopwords and punctuation in the keyword analysis?
Thanks!

We use stopwords from the language if none is given. When stopwords and punctuation are given we use that instead. So give the stopwords and punctuation but give a word/punctuation not in the text you are using but also not one of the stopwords. That should work for you I guess.


Comments

progress on #27

funcs
enum deffinitions

I think, I'll fix the whole #27 here as only struct comments left.

ok, done

oh wait, it needs generation i think

well it seems that I broke something...

ref: https://github.com/cimgui/cimgui/issues/239

The issue is closed, so let me suppose this will work now

ok @AllenDang ready to review.


Clean navigation section

Proposed Changes

Potential Breaking Changes

Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

Codecov Report

Merging #1441 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1441   +/-   ##
=======================================
  Coverage   98.98%   98.98%
=======================================
  Files         492      492
  Lines       10218    10218
  Branches     2358     2358
=======================================
  Hits        10114    10114
  Misses        104      104

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 406ba6c...b95f29d. Read the comment docs.


Bug 2019096: Update SRO leader election timeout to support SNO

Use library-go's default lease duration.
Refactor command-line parsing and add unit tests.

/assign @bthurber
/unassign @ArangoGutierrez
/unassign @kpouget

/cc @bthurber @dagrayvid @pacevedom

/uncc @ArangoGutierrez @kpouget

/bugzilla refresh

/bugzilla refresh

/cc @liqcui

/lgtm

/remove-lgtm

/ok-to-test
/unhold

/test all

@mhrivnak @liqcui the ApplyOpenShiftOptions function now applies all library-go leader-election defaults to the manager options before starting it. The leader-election-lease-duration command-line flag was removed to align with what most other operators offer.
PTAL.

/approve


Fix intermittent failures in test_connection

Fixes issue: https://github.com/submariner-io/shipyard/issues/309
Signed-Off-by: Sridhar Gaddam<EMAIL_ADDRESS>

I would add also a check with
subctl show connections
to make sure we at least have one connection (it'd be better to check that we have the same amount as "joined" clusters if we can get that number somehow...) but not sure if it's easy to get.

Okay @mangelajo. I'll update the PR. Thanks for reviewing.

Expected "Miguel Angel Ajo Pelayo<EMAIL_ADDRESS>but got "Miguel Angel Ajo Pelayo<EMAIL_ADDRESS>
Is your sign-off email differently configured than your commit author email @mangelajo?

DCO check failed. Also can you update the PR summary to add details as to the problem/solution?

I have handled the DCO & Summary as part of the squash


Convience methods to write to/from json

While writing tests for the industry benchmark I find myself writing the same two bits of code a lot to write and load AlchemicalNetworks to json file. I think it would make sense to add them as functions to avoid repeated code. I would suggest a to_json_file method and a from_json_file class method. In the future we might consider other supported file types like messagepack so a general to_file and from_file might be more appropriate with the file type inferred from the name.
I noticed that the Transformation object can already be written to json using its dump method so I think having some general serialisation options on the GufeTokenizable class would be very useful!

Agree with this @jthorton! Although this gets a bit tricky, since there are multiple representations a GufeTokenizable can take, including dict, shallow_dict, keyed_dict, and now keyed_chain. All of these are readily JSON-serializable except shallow_dict, but which one should be used for e.g. to_json?
What may help is to create a gufe.serialization submodule with convenience functions, such as to_json, from_json, to_msgpack, from_msgpack, etc. These functions could by default return an in-memory representation, but could optionally take a filename or file-like object to write to.
Do you think that would be sufficient, or still be annoying as a downstream user of GufeTokenizables?

All of these are readily JSON-serializable except shallow_dict, but which one should be used for e.g. to_json?

I would say the most minimal one which can be used to roundtrip the same object currently I just use dict as I wasn't sure but if the to/from methods could handle this for me that would be fantastic!

What may help is to create a gufe.serialization submodule with convenience functions, such as to_json, from_json, to_msgpack, from_msgpack, etc. These functions could by default return an in-memory representation, but could optionally take a filename or file-like object to write to.

Great idea, I think that would help a lot and save downstream implementations.


Implement Audience further

Made Channel implement Audience instead of ForwardingAudience
Remove ChatChatEvent#recipients
Moved User#canSee to Channel#isUseableBy
Remove User#canUse
Use Audience#sendMessage(Identity, Component) to send chat messages
Add default permissions in bukkit.yml

This also seems to have the side effect of logging every message to the console which is a good thing

This also seems to have the side effect of logging every message to the console which is a good thing

I am fairly certain they already were sent to console because Console User #canSee method always returned true. We might want to consider this a bug in the future btw bcz we might want custom formats for console. For now I think this will work just fine.


Problem Extracting EMS  Data from NYPD Fire Statistics

When i attempt to scrape the Ambulance incident and run data it misses an entire vertical column titled "1-8"
Link to failed document : http://www.nyc.gov/html/fdny/pdf/stats/2008/ems/bk/ems_bksum_0208.pdf
Thanks
Tim

hiya @h2oboxer:
Oof, that's a nasty PDF. Between all the weirdly shaped tables, the table borderlines that just barely don't intersect and the multiple headers, it's guaranteed to cause some trouble.
Try excluding the headers and using the "Original" extraction method (under advanced options in the data download modal window), like this:

That should get you pretty decent data.


Thermostats card behaves strange in HA

I agree to the following

[X] I have read the documentation right now
[X] I have read the FAQs right now
[X] I am aware of the latest release notes
[X] I am aware that an integration that was installed via HACS also needs to be updated via HACS
[X] The Backend (CCU/Homegear/...) is working as expected, devices are taught in and are controllable by its own UI.
[X] I am running the latest version of the custom_component (and Home Assistant)

The problem
within the recent updates from Homeassistant, the Thermostat Card got some attention and got replaced with a new card matching the design of the tile cards.
By default, the Thermostats are in Automatic Mode - and I can select a Preset which has been saved in Homematic - everything is working fine and as expected

BUT:
When I click the "Off" Icon - for example

then, the card is switching immediately to "heating" - and all profiles are gone from the selection

Also, switching back to the Automatic mode, I am getting the following information about invalid programs

What version of HomematicIP (local) has the issue?
1.58.0
What was the last working version of HomematicIP (local)?
No response
What type of installation are you running?
Home Assistant OS
What type of installation are you running for your homematic backend?
RaspberryMatic Standalone
Which version of your homematic backend are you running?
<IP_ADDRESS>40316
What hardware are you running for your system?
Proxmox
Which config details do you use

[ ] TLS
[ ] callback data (see)

Which interfaces do you use?

[ ] Homematic IP
[ ] Homematic (Bidcos-RF)
[ ] Groups (Heating-Group)
[ ] BidCos-Wired (HM-Wired)

Diagnostics information (no logs here)
No response
Log file extract. Anything in the logs that might be useful for us? The log (Setting/System/Logs -> load full log) is the best source to support trouble shooting!
No response
Additional information
No response

Im wesentlichen ist das eine Dublette zu #1452, mit einem entsprechenden Kommentar zur Fehlermeldung


Make synchronouslyUpdateViewOnUIThread use the operations queue

Alternative solution to #10907. This fixes a crash that happens because native animations tries to update a view that was not yet created because it bypasses the operation queue. This uses enqueueUpdateProperties and then a new method that just flushes the queue immediately. This makes sure pending view creation operations are executed before the update ones.
Decided to add a new method to flush the operation queue since the existing one did some extra dispatching / logging and assumes to be called from UIManager.
Test plan
Tested that native animations still work and that it happens in the same frame as they are dispatched. A good way to test this is to put a view inside a scrollview and animated it's translation to be the same as the scroll position, the view is not supposed to move at all. Pretty much made sure it behaves exactly as before this change.

cc @rigdern @ryangomba @astreet

If this is performant, certainly seems like the right approach.

Unfortunately this isn't safe: if there's another transaction happening, mOperations might not be empty and we'll execute part of another batch.

@astreet I'm not sure if that would cause any actual issues but I guess it is right to avoid splitting batches. Changed to leverage the non batched operation queue and only flush that one instead of both. This will avoid splitting batches and only execute operation blocks that are non-batched so splitting these should be fine as they should not assume any batching.
This will still fix the issue of updating views that are not created yet since view creation is on the non-batched queue.

I'm not sure if that would cause any actual issues but I guess it is right to avoid splitting batches.

It could definitely cause issues: it basically gets rid of our batching guarantees which means you would see occasional screen tearing where partial updates are flushed.
The new change relies on view creates always going through the non-batched queue which I also don't really like. It seems like if the animation is trying to animate a view that hasn't been created yet, we should just not animate the view until it exists instead of messing with batching and pre-flushing.

My main concern with ignoring the prop set if the view doesn't exist is that we don't pass native animated props to the view so ignoring the initial update could result in a view that has a bad value until the animation begins. However I guess that we could fix this case separatly by having a way to pass animated props on view creation but ignoring them in future diffs.

Since this adds more complexity than we want to let's go with the ignore solution as per #10907. I'll figure out a different solution for the issue I mentioned above since we will have to tackle it anyway since initializing the view without its animated props causes other issues like flickers between the time the view is created and the first update call from native animated.

@astreet could you also have a look at #10907?


Auto attach messes up when multiple windows are open

macOS/Insiders
I have the following windows open:
Tyriar/xterm.js (status bar says auto attach on)
Microsoft/vscode (status bar says auto attach off)
When I run npm run test-debug in the terminal of the xterm.js window, the debugger stops in gulp.js in the Microsoft/vscode window:

I then get this error in the Tyriar/xterm.js window:

See https://github.com/xtermjs/xterm.js/pull/1388 for npm run test-debug, it does the following:
node --inspect-brk node_modules/.bin/gulp test

I'm noticing even with a single window and auto attach set to off, it's still auto attaching 😕 even after a window reload.

@roblourens Don't we resume execution if there's no pending breakpoints?

This should be fixed in VS Code 1.27


Bump tame-gcs to simplify code.

 This simplifies the code a lot.
Signed-off-by: Hanif Bin Ariffin<EMAIL_ADDRESS>
What problem does this PR solve?
Problem Summary:
What is changed and how it works?
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

/run-all-tests

lgtm

/merge

/merge

/run-integration-common-test


Rerun failed/errored/skipped testcases

Rerunning the failed test cases specified number of times

/lgtm
Thanks Sudeesh.


[Errno 2] No such file or directory: 'model/deepmoji_weights.hdf5'

I get this error when I try to run
python scripts/download_weights.py

Strange. What's your working directory when running the script?

I had a similar issue after deleting the initial model. However, you can still get the file, by downloading it directly using the dropbox link  and putting it in the ~/model directory.

same problem on Mac OS, my working directory is the project root


Nickel: Reduce vertical space with function calls

Is your feature request related to a problem? Please describe.
I know this is a very opinionated topic, but in its current state I feel like the Nickel formatter wastes a lot of vertical space unnecessarily. We're switching from yaml + helm to Nickel for templating our Kubernetes resources and we noticed the number of lines in our templates doubling. This makes it more difficult to grok the complete template at a glance, as everything is much more spread out.
For example let's look at how Topiary formats this expression:
foo = optional_record bar.enabled {
  ...
}

Topiary:
foo =
  optional_record
    bar.enabled
    {
      ...
    }

Notice how the record is indented twice, once for the function name and another one for the function arguments. It also moves the function name and each argument into their own lines. This is despite the entire expression easily fitting into a single line.
If you have a lot of conditional logic in your templates, this quickly adds up.
Describe the solution you'd like
I'd be happy with any of these solutions:
foo = optional_record bar.enabled {
  ...
}

or
foo =
  optional_record bar.enabled {
    ...
  }

Describe alternatives you've considered
This issue only covers function calls, but in general I would prefer if the Nickel formatter wasn't too strict about how you combine expressions that spread out through multiple lines. I think the nixpkgs-fmt formatter as an example strikes a very nice balance, allowing you to also combine blocks like [{ \n ... }] when it makes sense. Topiary often forces you to write every bracket on its own line, leading to heavily indented code like this:
if foo
  [
    {
      bar = 1
      ...
    }
  ]
else
  []

This could be so much more compact:
if !foo [] else [{
  bar = 1
  ...
}]

Or with a helper function:
optional_list foo [{
  bar = 1
  ...
}]

Thanks for making this issue. The line-spacing of function calls, as it currently stands, is by design. Any syntactic construct in Topiary can be considered "single-line" or "multi-line". In your example:
foo = optional_record bar.enabled {
  ...
}

By virtue of the function argument, which happens to be a record, spanning multiple lines, the parent node (i.e., the function) is considered multi-line. Hence, Topiary pushes things around like so:
function-name
  argument
  argument
  argument

Topiary/Tree-sitter queries don't have the fidelity to be able to make special cases for something like "if the last argument is multi-line, then format the call-site as single-line except for the last argument". (That is, IIRC: it may be possible, but I suspect that it might be needlessly complex if it can be done.)
All that being said, your point is definitely taken. There may be things we can do to compact vertical space usage, under the advisement of the Nickel project (as you say: it's subjective!) We'll look into it...

Thanks! I think this is definitely something you'd want to be able to cross different languages as well. It's very common for a function's last argument to be a block of code for example.

The larger issue is #546 , where the examples are in Ocaml. I remember the hanging forms were also a fairly early consideration in the Ormolu formatter for Haskell. All this to mean that when we have some available brain cycle it'll be worth it to try hard to crack this problem.

We've discussed this amongst both the Topiary and Nickel teams and there no strong opinion on this, either way.
There is, however, an objective argument for the liberal vertical spacing: One of the stated design goals for Topiary's formatting rules is that diffs should be minimised. That is, artefacts from formatting shouldn't introduce visual clutter when looking at changes between commits. This often necessitates syntactic forms being made line-wise mutually exclusive, so they don't interfere with each other.
For example, if we add an argument to the function call site, the change is clearer in this form:
  {
    symbol =
      function
        argument1
+       argument2
        {
          record = 123
        }
  }

...than this:
  {
!   symbol = function argument1 argument2 {
      record = 123
    }
  }

As such, we've decided to close this issue and mark it as wontfix.
However, the beauty of Topiary is that it's quite easy to make these changes yourself, by editing the formatting query appropriately. For example, to format your if example in a more compact way, I just made the following changes to topiary-queries/queries/nickel.scm:
@@ -365,18 +365,18 @@
 ;
 ; This style has precedent from the manually formatted stdlib. (An
 ; alternative style is to give the "then" token its own line.)
-(ite_expr
-  "then" @append_spaced_softline @append_indent_start
-  "else" @prepend_indent_end @prepend_spaced_softline
-)
-
-(ite_expr
-  "else" @append_spaced_softline @append_indent_start
-  t2: (term
-    ; Don't apply formatting if an "else" is followed by an "if"
-    (uni_term (ite_expr))? @do_nothing
-  ) @append_indent_end
-)
+;(ite_expr
+;  "then" @append_spaced_softline @append_indent_start
+;  "else" @prepend_indent_end @prepend_spaced_softline
+;)
+
+;(ite_expr
+;  "else" @append_spaced_softline @append_indent_start
+;  t2: (term
+;    ; Don't apply formatting if an "else" is followed by an "if"
+;    (uni_term (ite_expr))? @do_nothing
+;  ) @append_indent_end
+;)

 ;; Container Types
 ; i.e., Arrays, records (and dictionaries, vicariously) and enums
@@ -399,9 +399,9 @@
 (_
   (#scope_id! "container")
   .
-  "[" @append_empty_softline @append_indent_start @prepend_begin_scope
+  "[" @prepend_begin_scope
   (_)
-  "]" @prepend_indent_end @prepend_empty_softline @append_end_scope
+  "]" @append_end_scope
   .
 )

This may need further tweaking to cover every case, but illustrates how accessible it is to customise the formatting styles to your own needs.

There is, however, an objective argument for the liberal vertical spacing: One of the stated design goals for Topiary's formatting rules is that diffs should be minimised. That is, artefacts from formatting shouldn't introduce visual clutter when looking at changes between commits.

I feel like if diff minimisation was the design goal, then you would want to write every function call with arguments split into multiple lines, regardless of whether a single argument is multi-line. After all, why does diff minimisation not matter for single-line functions? Obviously that's silly, and nobody would want that to be the case. So I would argue the decision is completely arbitrary, not objectively better. Which is fine, it's a very opinionated topic. It just doesn't work for me.
Customizing formatting rules would work up to a point I suppose. Ideally I would like to have the flexibility to pick a single-line or multi-line approach depending on how long the whole expression is. I assume that's not something you can really do right now, right?

I feel like if diff minimisation was the design goal, then you would want to write every function call with arguments split into multiple lines, regardless of whether a single argument is multi-line.

I would say diff minimization is one of the goal/guiding principle. There are several of them, and they may compete. I think another design choice is that Topiary respects the user's original choice with respect to single line vs multi line expressions. I agree this one is arbitrary, and as you say, it's a very subjective topic :upside_down_face:

Customizing formatting rules would work up to a point I suppose.

I suspect you can go quite far, because the whole point of Topiary is that all the formatting is done by tree-sitter queries. So you can basically mess with the whole code of the formatter. That being said, I don't have the answer to your question about splitting lines, so I'll let Topiary developers answer this question.

Ideally I would like to have the flexibility to pick a single-line or multi-line approach depending on how long the whole expression is. I assume that's not something you can really do right now, right?

That's right, I'm afraid. The only distinction we make is whether an expression was originally laid out by its author on a single line, or spread over many. The physical extents of the expression is not considered, at the moment.


Update email text for "Depositor: Item approved for deposit"

Email text: https://docs.google.com/document/d/1TZVILUrORI25kRZyUZ70vMQYo90Ngp_tqCI7BdU_VyQ/edit#heading=h.2hbho6n7n9ti
The "Congratulations!" text at the beginning is missing.
And this should have had the following that was missing from the document, which I have added in there and below:
You selected the following options:
License: [license]
Access level: [world/Stanford]
Release: [now available/embargo release date]
Subject: Your deposit has been reviewed and approved
Body:
Dear [preferred name in directory],
Congratulations! Your deposit, “[item title]” to the [collection.name] collection has been approved and is now  published in the Stanford Digital Repository.
The persistent URL (PURL) for this deposit, https://purl.stanford.edu/[druid], is now active and available for sharing.
You selected the following options:
License: [license]
Access level: [world/Stanford]
Release: [now available/embargo release date]
If you have any questions, contact the SDR team at: [link to contact form]
The Stanford Digital Repository Team

@amyehodge which item did you test this on?

@jcoyne https://sul-h2-stage.stanford.edu/works/110
I received this email text:
Dear Amy E. Hodge,
Your deposit, “Submitting for review” to the New Review Collection collection in the Stanford Digital Repository, has been approved and is now published in the Stanford Digital Repository.
The persistent URL (PURL) for this deposit, https://purl-stage.stanford.edu/pw493zj4799, is now active and available for sharing.
If you have any questions, contact the SDR team at: http://sul-h2-stage.stanford.edu/#help
The Stanford Digital Repository Team


Has this ever been published to hex?

Hi @cabol
I just searched on hex for this package, exshards, but it doesn't seem to be there?
shards on hex is just the erlang package, isn't it? Or is it both?
Thanks,
Po

Hi @princemaple
You're right, no hex package for exshards has been published yet. Regarding to the current status of the project I'm not sure if it really worth to publish it now, I'd like to work more on it. On other hand, of course you can use shards either from Elixir as well, the library works for both. E.g.:
This is the same README example but using shards instead:
> :shards.new :mytab, []
{:mytab,
 {:state, :shards_local, 8, &:shards_local.pick/3, &:shards_local.pick/3}}

> :shards.insert :mytab, [k1: 1, k2: 2, k3: 3]
true

> for k <- [:k1, :k2, :k3] do
...(4)>   [{_, v}] = :shards.lookup(:mytab, k)
...(4)>   v
...(4)> end
[1, 2, 3]

> :shards.delete :mytab, :k3
true
> :shards.lookup :mytab, :k3
[]

> :shards.new :mytab2, [{:n_shards, 5}]
{:mytab2,
 {:state, :shards_local, 5, &:shards_local.pick/3, &:shards_local.pick/3}}

As you can see, the only difference is that you use :shards as module instead of ExShards.
Summing up: 1) For now my recomendation is go for shards, while I define if it really is a good idea a wrapper or not – BTW, any suggestion is welcome :)  2) I'll try to finish some minor fixes and then publish an initial version of exshards – I'll keep the issue open until then.
Thanks !!!

@princemaple about your questions:

No, there is no any downside to use the wrapper, you can use it if you feel more confortable with it.

Regarding to the issues:

I'd like to add some tests
As I've done several changes on shards, I'd like to check and be sure everything is OK with exshards.
Finally, I'd like to explore possible enhancements.

Thanks !!

Great, Thank you! I'll start with using :shards and switch to ExShards if you decide to release it.
I guess one thing that might be better with ExShards is documentation. Even though all the functions defined are just wrapping the functions in the erlang module, you can probably still put documentation in the wrapper to make it more user friendly :)

It's true, that makes a lot of sense, I'll do that! Thanks !! :)

@princemaple I've pushed a 1st stable release of ex_shards and I published it on hex already! Please try it out and let me know any issue you have.
So I think we can close this issue.
Thanks!!

:party:
On Sun., 12 Feb. 2017, 04:48 Carlos Andres Bolaños R.A., <
<EMAIL_ADDRESS>wrote:

@princemaple https://github.com/princemaple I've pushed a 1st stable
release of ex_shards and I published it on hex already! Please try it out
and let me know any issue you have.
So I think we can close this issue.
Thanks!!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cabol/ex_shards/issues/1#issuecomment-279163041, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABRKNDPtNNJmJ2sd5TVuiHyBt0llG30-ks5rbfRjgaJpZM4LJ318
.


Added sncast account list subcommand

Closes #2222
Introduced changes

added new list subcommand to sncast account
it is used to list all accounts available to deploy contracts from
accounts are retrieved from accounts-file parameter received from CLI or read from .toml config

Checklist

[x] Linked relevant issue
[x] Updated relevant documentation
[x] Added relevant tests
[x] Performed self-review of the code
[x] Added changes to CHANGELOG.md

We should also add some info to --help and to docs that this will display your private keys, this might be somewhat dangerous

About a --json flag

I have introduced support for this setting. However I assumed it is going to be used in specific cases (e.g. in user scripts)
In JSON mode, the command outputs no information beyond the JSON itself
In particular, it does not inform about the accounts file location and additional flags

JSON mode - design question
There are two possibilites to output information in --json mode:

Print a 1:1 structure read from accounts-file (accounts nested in networks)
Transform it in a manner similar to the normal mode, i.e. add the network to the account document
Which one do we prefer?

JSON mode - design question
There are two possibilites to output information in --json mode:

Print a 1:1 structure read from accounts-file (accounts nested in networks)
Transform it in a manner similar to the normal mode, i.e. add the network to the account document

Which one do we prefer?

the latter


Enable AOT to be performed during CF push

Frontend Deployment type

[ ] Cloud Foundry Application (cf push)

Backend (Jet Stream) Deployment type

[ ] Cloud Foundry Application (cf push)

Expected behaviour
Be able to enable the AOT during cf push, likely through an environment variable.
See related slack exchange at https://cloudfoundry.slack.com/archives/C80EP4Y57/p1536756672000100?thread_ts=1536700835.000100&cid=C80EP4Y57
Actual behaviour
Enabling the AOT requirees a version of node to be installed on the host, and the steps described at https://github.com/cloudfoundry-incubator/stratos/tree/v2-master/deploy/cloud-foundry#pre-building-the-ui prior to  performing the cf push.
Context
In our case, this is a CI/CD system which performs the cf push, and node is lacking in its concourse containers.

Hi @gberche-orange - I am currently reviewing our open community issues, making sure they are still current and prioritising them - to help me with that, could you confirm that this feature request is still relevant to your use-case? Thanks!

thanks @kreinecke for the follow up.
My project has indeed worked around the issue by doing the AOT compilation prior to cf push. This also reduced the staging time which was sometimes exceeding staging timeout. This issue is therefore not a priority anymore for us. I'm therefore closing the issue.
I believe that there will be more value in providing official compiled binaries ready to be deployed to CF instead.


[SPI_Host] Regression fixing

estimate 16
remaining 2022-11-10 4
Corresponds to SH:4 on internal tracking

I am still working on this issue. Started with spi_host_speed test and created a PR increasing pass rate 0% to 50%: https://github.com/lowRISC/opentitan/pull/16015

thank you for taking this on!

With the last commit on PR #16015, I think most of the tests will pass. We are running a full regression test on spi_host and spi_device using that PR and will publish the results. When the discussions are over, and after seeing the test results, maybe we can merge the PR and close this issue.
estimate 4
@johngt

With the PRs #16015 and #16253, the overall pass rate increased to 97% and the overall coverage score increased to 96%. Now I am working on fixing spi_host_stress_all test (pass rate = 64%). I hope it will be completed in 1 or 2 days. @johngt

spi_host_speed has been fixed by @abdullahvarici in #16015, so that part is complete.
spi_host_speed_test is already being tracked in https://github.com/lowRISC/opentitan/issues/16014, so I suggest @johngt to move the remaining estimate of 4 over there and close this issue.

@andreaskurth / @abdullahvarici - I'm adjusting the effort to be 4 lower on this one, with the remaining effort shifted over to https://github.com/lowRISC/opentitan/issues/16014
Closing this issue out.


feat(Container.tsx, types.ts): add support for custom background component.

Support for the Custom Background

Could you please elaborate on the reason for this?
Is it not possible to directly replace the tab bar for your needs?

My apologies, this is not for the TabBar component, this will add a background to the Collabpible tab view. This will be an optional component. This will be useful if someone wants to have a background image or background component for the TabView control

@andreialecu - Please let me know if you need more information. I am happy to provide as much as possible.


Library

Hello, when i want use library milesburton/DallasTemperature. But i cant compile same code with pioarduino. Every time error with compile. I try new project and add this library to platformio.ini. When i want compile default code error is same as my code.
Board: ESP 32 devkit
Thank you

The library needs updating to support Arduino core 3.0.x


Improve narrow:focus to never fail to focus

Current implementation is very easy and not perfect way.
fix it.

Priority to find target narrow-editor to focus is following order

last focused narrow-editor
visible in panes
from all narrow-editors


Uefa Challenge not working on windows 1903

So.. I tested your ddraw.dll build from 2nd January ,and that was the only version that started game and make it playable at full .(also working in windows 8.1) .That is amazing ! Now in win 10 1903 it can't even start .. Any chance you can edit that code and make the game playable again ?

I don't have the game and there doesn't seem to be a demo version of it anywhere.
Please attach the ddraw.log file using the ReleaseWithDebugLogs build (in ddraw-debug.zip).

Well I have two log files .. One is when game is working on win 8.1 and another is when it crashed on win 10
ddraw.log
ddraw1.log

Thanks for the logs! Unfortunately, those are from the Release build so they don't contain much information, although it's enough to see that it crashes while hooking GDI functions.
I have already fixed a compatibility issue with Windows 10 v1903 about a month ago, which may be responsible for this, but you are using an older release from January. Have you tried the latest experimental version? Does it still crash, or are there other problems instead?
If it still crashes, it would be best if you could send me a crash dump that I can analyze. You have to enable the crash dumps via the registry as they are disabled by default.
To enable them, create the following key in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
To disable them, remove the key.
For simplicity, or if you don't know how to edit the registry, I have attached a pair of .reg files that can do the same thing if you execute them. Just extract them from this archive: EnableLocalDumps.zip
Then you can collect the crash dump as follows:

Run the EnableLocalDumps.reg file. Press Yes when asked for a confirmation. Alternatively, you can manually add the registry key mentioned above using regedit.
Run the game and wait until it crashes. You should now have the crash dump file in the %LOCALAPPDATA%\CrashDumps directory. The full path should be something like C:\Users\<YourUserName>\AppData\Local\CrashDumps (replace the <YourUserName> part with your Windows user account name). Compress the dmp file into a zip file and attach it in a comment.
Run the DisableLocalDumps.reg file to disable the crash dumps for future application crashes, or remove the key manually from the registry.

Yes,I tried experimental version also ... Game started and after intro it crashed. I will do my best to to get that crashdumps as soon as possible . Thank you for making old games alive again :)

Please do so with the latest experimental release then, I assume the earlier crash was caused by the bug that I already fixed. The crash after the intro should be something else.

Also tried Wine3D wrapper ,and it works but loading is slow comparing to yours work !  I was positively surprised ;)

Here is crashdumps  ...
Soccer4.exe.12192.zip

Thanks! I see that it's crashing on a null pointer access in D3D7Lib.dll. I googled around a bit and it seems this file (and possibly some others) can cause problems with DirectDraw wrappers. The usual advice is to just delete them, but for now, I'd suggest just renaming them or moving them to another directory.
If moving/renaming the above file is not sufficient, you can also try doing the same with these:
D3d6Lib.dll
sft8lib.dll

But with January version it works with out nothing changed or removed ? I mean it works in 1809 and win 8.1 ,and that was the only version that can start and end game without any problems .. I will try what you suggested .. Game patch updated that d3d7lib ,so maybe it can't be removed ..

I think I found the problem. The latest experimental release (just updated) should fix it. Please let me know if it works for you or not. Also, you can undo the changes to d3d7lib.dll.

Nope..  Still same crash after intro ,it is small black window and than closed .
Soccer4.exe.8432.zip

Actually, it's not the same crash. It crashed in a different place, in Soccer4.exe this time. It looks like you may not have restored d3d7lib.dll properly as it is no longer in the loaded modules list. Based on your earlier crash dumps, it should be here: C:\Program Files (x86)\UEFA Challenge\Stealth\Render\D3d7Lib.dll
Please make sure it's restored to its original name and location and try again.

With latest it works ! I am in game again :D  Thank you !!!


VSCode extension: refactor options not shown in custom code action menu

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Describe the bug

The refactor options like "Wrap with...", "Remove this widget", etc. do not show up in the new code action menu.

To Reproduce

Steps to reproduce the behavior:

Enable editor.experimental.useCustomCodeActionMenu
Open the refactor menu somewhere

Expected behavior

The refactor options should appear in the new menu.

From https://github.com/Dart-Code/Dart-Code/issues/4104#issue-1338214770

For me too, I'll have to migrate to normal vscode...

@justschen Thanks! :)


POST with application/x-www-form-urlencoded and json Body Not Working

The following code does not work, but changing the "body: json" to "body: text" does.
meta {
name: POST Test
type: http
seq: 45
}
post {
url: https://some_url/authorize
body: json
auth: none
}
headers {
Content-Type: application/x-www-form-urlencoded
}
body:json {
{
"clientId": "some-client-id",
"clientSecret": "some-client-secret"
}
}

Below are screen prints from what I was describing above. Looks like it "could" be an easy fix since it works with "TEXT" but not with "JSON" body type:


the AirFlow need to deploy separately

Affected module
Does it impact the UI, backend or Ingestion Framework?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Screenshots or steps to reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 0.8]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

THE TEST CONNECTION CAN NOT CLICK; the AirFlow need to deploy separately？

Hello @jackxueman, to test the connection you will need to have the airflow available, for more info read our deployment doc https://docs.open-metadata.org/v1.0.0/deployment, thanks!


Firewall Inspect feature shows N/A for most of the rules

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
Firewall statistics (Inspect) shows N/A for Evaluations, States, Packets and Bytes for most of the rules. Only the NAT rules show current statistics
To Reproduce
Steps to reproduce the behavior:

Go to 'Firewall > Rules > INTERFACE'
Click on 'Inspect'

Expected behavior
The new 'Inspect' feature should show statistics for each of the firewall rules (as I understand).
Screenshots

Relevant log files
Don't know which log file could help to identify the issue.
Additional context
I've already asked some forum members if they knew the issue or how to solve it. But nobody else seems to have this issue.
Environment
OPNsense 19.7.1 (amd64)
Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4 cores)
OnBoard Realtek
2 x Realtek GbE OnBoard LAN chips (10/100/1000 Mbit)

I haven't seen the issue either, some things you could try:
Reload ruleset to make sure there are no parsing issues:
pfctl -f /tmp/rules.debug

(shouldn't generate output)
Check the output of the following command (which is the same as our stats use):
/sbin/pfctl -sr -v

The labels (e.g. 57e45e98f405ff38156d7ccef945da92) should match in /tmp/rules.debug where you can find the description (or the other way around).

it could be rules optimised out so no stats can be gathered in the first place

The reload of the ruleset didn't helped.
The output of the second command shows me values for all my rules.
pass in quick on hn1_vlan10 inet proto tcp from <Email_Clients> to ! <Private_Networks> port = imaps flags S/SA keep state label "43043f5837bb8a73d9aa4d6b4cef689f"
  [ Evaluations: 4         Packets: 140       Bytes: 51905       States: 0     ]
  [ Inserted: uid 0 pid 85819 State Creations: 1     ]

The WebGUI still shows N/A

Yeeeehaaa, I've found the issue. :)
I associated each rule to a category like "LAN > Internet" or "WAN > DMZ".
The inspect feature don't like the ">" sign. After I'd removed it, the values were shown.

HTML encode -> hash mismatch maybe?


Add comment replacement

  - triggers: ":comment:"
    replace: <!---
        `$|$`
-->

Something like this
There might be other markdowns we can add. What do you think?

Maybe I'm a little bit out of the loop, but what does this do exactly?
<!---
test
---

Example of comment markdown: https://axolo.co/blog/p/part-3-github-pull-request-template
Anything inside the comment won't be displayed in the rendered markdown.
For example, it's useful in PR templates (as shown by the above link). That's the main use-case I thought of to be honest - I thought it may be handy to have it added anyhow.

I have added this trigger in the new overhaul.


TODOs after meeting Dec 22th, 2017

1. Comuna profile
1.1. Economy

[x] Occupations: remove most common (it's full data)
[x] Industry by employment: remove "employment) (it's not workers)
[x] Product space / industry space: check RC definition in cube
[x] Employment titles (i.e by sex, by education, etc)
[ ] Check private sector occupations
[x] Employment by level: hardcoded order
[ ] Income by sex + income by age: test area chart with 50% transparency
[ ] Salaries by occupation: use boxplot and ideally violin plot
[x] Trade balance: include numbers in tooltips

1.2. Innovation

[x] Remove

1.3. Access to services

[x] Reduce icons to 80%
[ ] Check access to internet
[x] Move long labels in health to the right
[x] Explain Fonasa groups

1.4 Health

[ ] Death by causes: include stack by year + growth and fractions of causes

1.4. Migration

[x] Add stack by year (by country, colors by continent)
[x] Check CAGR formula
[x] Migration by visa: move to treemap
[x] Insert descriptive titles

1.5 R+D

[ ] Check total by business and ownership

2. Chile > Geo profile > Country
2.1. Education

[ ] Remove bubble chart
[ ] Replace by top 15 table + top school by region
[ ] Consistent color scale in treemaps and scatterplots
[ ] Psu results by sex: show information by test
[ ] Consider standard deviation to build boxplots

3. About

[x] Divide in pages
[x] Include API
[ ] Include % of contributions

99. Broad issues

[ ] Check region names / comuna names (i.e Aysén vs Aisén)
[ ] Check small comunas tht break the site (i.e Rio Ibanez, Tortel)
[ ] Check datums that show regional data in comunas
[x] Group continents (i.e West Africa and East Africa)
[ ] Add next comuna and previous comuna in profiles
[ ] Bug: click element breaks click menu
[x] Menu: put institutions and careers in grey
[ ] Abbreviate regions (i.e Reg Met de Santiago to Reg Meg)
[x] Add spinner in loading banner

I'll create a new issue when necessary


A694379226563213 transferring

Add tests for transferring
Depends on:

https://github.com/openprocurement/openregistry.lots.core/pull/51

Pull Request Test Coverage Report for Build 173

47 of 55 (85.45%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 96.042%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

openregistry/lots/loki/tests/transferring.py
30
38
78.95%

Totals

Change from base Build 171:
-0.2%

Covered Lines:
2499

Relevant Lines:
2602

💛  - Coveralls


Add command line interface

Suggestion: Use https://github.com/kbknapp/clap-rs/

Also investigate https://github.com/docopt/docopt.rs

I vote for docopt, @tripokey ; less clutter in the code, and it forces help documentation to be up to date. docopt! macro could be skipped if we do not want to depend on the nightly compiler.


Port to MongoDB

Porting the DB to MongoDB gives MDWalters125 some features, such as:

Using the same DB with MDBot and MDWalters125

I won't be able to host if you use MongoDB


Update to version 0.6.4

Moves version to 0.6.4 in preparation for a bugfix release. This release will have a pypgstac loader optimization without any database changes.

Hey @lossyrob PR #117 is waiting for review and already has the bump to 0.6.4

Whoops! closing.


Propose concrete ideas of the merge criteria for Core/Universe

As written in #3, we'll change the merge criteria for Core/Universe for more efficiency.
In this issue, we'll propose concrete ideas like:

Required amount and kind of tests
Required contents and quality of documentation
Required code metrics

for each of Core and Universe.
Although Autoware.Auto already has the rules, it should be refined for our new process.
Also, Tier IV has previously proposed some criteria in ASWG, but it's yet high-level.

TL;DR: In my opinion, it is a good idea to measure code coverage for each type of test. This enables a detailed analysis of the tests.
By defining test labels, it is possible to output test coverage for each type of test.
To illustrate this benefit, I forked Autoware.Auto and added test labels.
Here is my repository. https://gitlab.com/keisuke.shima/AutowareAuto/-/commit/c812f150906b63a176c685cf243cb9f8bc5f6876
By specifying the labels and running the tests, we can measure the code coverage for each of the unit tests and the integration tests (including smoke tests and component tests).
This is useful for reviewing pull requests. Knowing which tests are covering the changes helps reviewers to consider whether the changes are properly tested.
It is also possible to define merge criteria for each type of test. For example, the criteria can be set to 80% or more for the unit test, 75% for the integration test.
As an example, here is the coverage of costmap_generator_nodes.

Since there are only launch_test in this code, the gtest coverage and smoke_test coverage are zero. We do not know this from the coverage report calculated from all the tests.
I would like to use this feature for the development of Autoware Core.
ros-metrics-reporter developed by TIER IV is a tool for continuous integration to measure software metrics, including code coverage reports by labels.
Source code and example results can be found below.
ros-metrics-reporter repository
Example for Autoware.Auto report

Related my previous comment: https://github.com/autowarefoundation/autoware-documentation/issues/2#issuecomment-1017236664
In my previous comment, I showed that detailed code coverage can be measured by testing by label.
(As a related work, I've added a test-by-label workflow here.)
Now that we are ready, I would like to discuss the specific test labels.
As shown here, Autoware.Auto had a testing framework in place: smoke test and interface test.
The benefits of these are explained in the link.
First, I would like to apply the above two tests that were accepted in Autoware.Auto to Core/Universe.
These tests can be added to each Node with only a few changes, and if there is a problem, the CI system will be able to detect the error.  And the cost of fixing them is lower than if they are detected by later tests such as scenario tests or real vehicle tests.　(This approach is called Shift-left testing.)
Another advantage is that you do not have to write gtest for the lines that these tests target.
As a result, the following test labels are created in Core/Universe

gtest
smoke_test
interface_test

If you have ideas about adding or removing test labels, please comment. I'm open to ideas here.

I'll write some documents about this, but it's a low priority.


[DDW-284] Merge release 0.10.0 branch into develop - FORK

This is a FORK of PR: https://github.com/input-output-hk/daedalus/pull/940
This PR merges release/0.10.0 into develop branch.

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (npm run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (npm run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (npm run package / CI builds)
[ ] There are no flow errors or warnings (npm run flow-test)
[ ] There are no lint errors or warnings (npm run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running npm run manage-translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (npm run storybook)
[ ] In case of npm dependency changes both package-lock.json and yarn.lock files are updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@DominikGuzei @darko-mijic this is a PR which merges release/0.10.0 into develop.
I had to create a fork of release/0.10.0 branch in order to fix the conflicts.
This is done within the commit: https://github.com/input-output-hk/daedalus/pull/941/commits/69df85bafb166262fa8dfb08d7cde5496da0cd65
Please inspect this with great detail as I had to replace the "magical strings" within the new Ada redemption code and fix some other issues.
Once we merge this PR the original one (https://github.com/input-output-hk/daedalus/pull/940) should show no conflicts too - perhaps that one will become obsolete after that moment...

@cleverca22 @deepfire could one of you guys please review the devops changes in this PR?
We had 4 conflicts that @rvl helped me to resolve. Still I would like to have at least one more approval from your team. Thanks!

@nikolaglumac so from what i see this is basically your ada redemption PR (without magic constants) + some devops changes, right? All tests pass, green light from my side 👍

@nikolaglumac is this ready to be merged?

@DominikGuzei it was but then something new was added to develop and now we have a failing CI: https://hydra.iohk.io/build/133841/nixlog/1
...I guess we need to fix it before merging.

@DominikGuzei we had few lint issues and a broken purge-translations script which was only partially renamed to purge:translations. All fixed now in: https://github.com/input-output-hk/daedalus/pull/941/commits/4ee6b5bb6e51c15ebf8867f39462c3ffb6e11e74
...once CI passes we can merge this one 👍

@DominikGuzei please approve this one 🙏
We need to get it merged before Monday...

@cleverca22 can you please check why appveyor build is failing? :( Thanks!


FEATURE: Parameterized dynamic data source

It would be nice to be able to provide parameters to dynamic data sources that are available in the mappings of the data source.
The use case we have for Melon is this:
When a fund is created, we also pass some addresses from the current Version contract of the network. One of these is the PriceFeed contract The PriceFeed is controlled by an off-chain component that sends an update transaction every 24h. This transaction triggers a PriceUpdate event that we are currently globally listening to.
The event handler for this event is then used to globally update some values (new prices for the supported assets in the network, etc.). But we also use it to then loops through all funds of the current version and computes a few new performance values for each fund.
This is problematic because it doesn't scale well and also doesn't work anymore once the PriceFeed contract is replaced when a new Version is deployed. The loop also only conceptually works because our Version contract has a list of all Funds that it has deployed. This is a trait of our contract but shouldn't be required for such a setup to work.
I want to be able to generate multiple dynamic data sources for the same eventful target contract (e.g. our PriceFeed) and pass additional parameters to it so that during the execution phase of the mapping I can load the Fund and re-compute values for it without storing a list of addresses to loop on in our contract.

I'll try to repeat the request in my own words to confirm I understand the use case.
There is one PriceFeed contract with a PriceUpdate event. Currently, you're handling this in a single, global data source and loop over all Funds to update them after a price update. This only works because there the list of Fund contracts is stored in another contract and that allows the PriceUpdate handler to loop over them.
What you would like to see is the ability to create data sources from templates with some contextual information. Specifically, in this situation, you would like to create multiple dynamic PriceFeed data sources, each with a Fund address on its context. Each of these would monitor the same PriceFeed contract with the same PriceUpdate event handler. In this handler, each of them would then be able to get the Fund address from its context and update only this fund.
Instead of looping over all, say, N funds in one handler, there would be N dynamic PriceFeed data sources with a different fund address, each responsible only for updating that particular fund.

Has this issue been worked on elsewhere? Would you be open to receiving a PR for it?  Or a better route to prioritize?

@ajcronk I'm working on this, expect it to land on master this week. What's your use case for it?

@ajcronk I'm working on this, expect it to land on master this week. What's your use case for it?

Great news! We were chatting with @adamsoffer about using this feature on the Livepeer subgraph. Will be very helpful.

@leoyvens Yeah, I chatted about this with Jannis briefly a while back. Livepeer has a similar use case where every time a delegate calls reward() and a Reward event is emitted, we would need to loop through all delegators bonded to the delegate that called reward() and update their reward shares which didn't scale.
So I believe the same user story holds:

What you would like to see is the ability to create data sources from templates with some contextual information. Specifically, in this situation, you would like to create multiple dynamic
BondingManager data sources, each with a Delegator address on its context. Each of these would monitor the same BondingManager contract with the same Reward event handler. In this handler, each of them would then be able to get the Delegator address from its context and update only this Delegator.

Instead of looping over all, say, N Delegators in one handler, there would be N dynamic BondingManager data sources with a different Delegator address, each responsible only for updating that particular Delegator.

One improvement to this strawman design that just occurred to me would be the ability to conditionally trigger dynamic data sources monitoring a specific event based on context. In the case of Livepeer, according to this design, it seems every dynamic data source monitoring the Reward event (every bonded delegator) would get triggered. But ideally, we only trigger those that contain the delegate that called reward as part of its context. Or in the case of Melon, not every fund is going to contain let's say, DAI. If the price of DAI gets updated, you don't necessarily want to update every fund, but rather only those that contain DAI in its context. Of course, you can do this check inside the handler itself, but I imagine it wouldn't be as performant.

Hey @adamsoffer, thanks for joining the discussion. The overhead of having this ignore logic in the handler itself is small, in the order of a couple ms per call, and there's room for optimizing that further. Even so I can see how that would be a meaningful performance impact if we're talking about n_data_sources*n_events being in the scale of millions.
Once this feature ships and you have the updated subgraphs deployed and synced, let me know so I can check the performance statistics and estimate how much of a gain there is with that optimization.

Sounds good! Thanks, @leoyvens. Excited for this feature.

FYI in the case of Livepeer, as of now, it would be around 42 data sources x 2538 events. (42 delegates x 2538 delegators)


Show proper error for PORT in use

The PR aims to address the following issues:

Show readable error message for port already used by some other process.
Also, catch any other unCaughtException thrown by the process. This can be extended to handle each specific exceptions in the future.

Signed-off-by: VighneshKSP<EMAIL_ADDRESS>

Thank you! I’ll merge it later.

Thank you :)


Using Sudo feature when authenticated with access_key from app created by admin user

Hello,
Documentation says I can use Sudo header to execute requests on behalf of user if I have admin user.
I do have admin user and I can execute requests as another user but only in case I have basic auth credentials. If I create application for admin user, grab access_token from it and try to call with sudo I will have 401\403 with message like Only administrators allowed to sudo.
Question:
Is it required that I use basic auth for Sudo usage or I can somehow use application access_token created by admin user?

Gitea version (or commit ref): 7a72aa6
Git version:
Operating system: Ubuntu
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant
if you have admin account and create app for it you should be able to reproduce (I don't have admin account on try.gitea.io)

Log gist:

Description
Thank you

And there is a test that seems to do what I'm trying to do https://github.com/go-gitea/gitea/blob/7096085f2b07246315e95e394b180ce9729efbb0/integrations/api_admin_test.go#L81
getTokenForLoggedInUser just gets token from the /user/settings/applications page
So when I try to replicate the test even without sudo I have 401
curl -X GET "http://localhost:3000/api/v1/user" -H "accept: application/json" -H "Authorization: 477362f41f3b656faafaf53e1fb81b63ff1e505d"

Your Authorization header is missing the token type. It should be:
Authorization: token $TOKEN_VALUE
IIRC token must be lowercase.
http Basic authentication is done using the Authorization header too, but with the type set to Basic. (Capitalisation may be slightly different.)

thank you! it works


Is there any way to get the resolved schema?

Hi @davishmcclurg ! I was trying to use the library but not to validate data, i need to get the schema's refs resolved. is there any way to get it?

I don't think that's currently possible. JsonSchema::Schema#expand_references! might do what you're looking for: https://github.com/brandur/json_schema#programmatic


Started translation of the documentation for the Albanian language

I want to contribute to translations for the Albanian language, so let's go 👍

@vjanz Based on what I've seen, I recommend you to:

Create a "translation" issue e.g. https://github.com/tiangolo/fastapi/issues/2041
Divide this PR in two:

Language setup
index.md page
The reasons are:

Being able to coordinate the translations, so others can contribute.
To have translations merged, we need approvals from people that speaks the language. If there's a PR with only the setup, it can be merged right away and people can take their time to review the index.md. Besides, your PR will not block others to contribute with other pages.

@Kludex, i think he did it right :thinking:. Expect from creating a translation issue to coordinate translations :+1:

Did what? 🤔

I mean the setup, anything wrong with it?

Oh, I'm sorry. I assumed the index.md was already translated. 😔 Yeah, everything is fine!

Hey @Kludex and @ycd, thank you for starting the conversation here.
To be more clear, I just did the initial setup on this PR as requested on docs, and I continued translating section by section on separate branches, so other people can contribute.
So I am thinking of making a separate PR for each section that I translate if that sounds right?
Cheers!

To be more clear, I just did the initial setup on this PR as requested on docs, and I continued translating section by section on separate branches, so other people can contribute.

Yeah, it was my bad. I assumed the index.md was already translated.

So I am thinking of making a separate PR for each section that I translate if that sounds right?

It does! :tada:

Awesome! Thanks @vjanz ! :rocket: :tada:
And thanks @Kludex and @ycd for the help here! :bow:


[Cache] Reduce cache query critical region

Description
In the old implementation, query with loader is serialized among workers. If the loader is slow, the program will often enter the synchronization area at very different times, causing the barriers timeout fail
Checklist

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

cc @awslabs/raf-reviewer @comaniac  @XinweiFu

Thanks @zachzzc