Enforce coding guidelines with ESLint + TSLint + Prettier

https://prettier.io/ is a pretty popular code formatter and it's integrated with a lot of tools.

We need a preset of rules that will match in all three tools without causing conflicts

Please note the comment: https://github.com/DivanteLtd/vue-storefront/pull/2843#issuecomment-497914800


Typo and structure not behaving properly

On the website. in step 2 you have:
TileEntity tile = worldObj.getBlockTileEntity(x, y, z);
instead of
TileEntity tile = worldObj.getTileEntity(x, y, z);
In the mod main class the blocks are registered wrong since all you need now is the class and the string.
I'm not sure if this is a bug or not but the diamond block always spawns even after you break it, it gets replaced. Again not sure if this was intended or not.
The diamond block still spawns even after the multiblock is broken until the master block is removed.
If the multiblock is partially broken it will not form until the whole structure is rebuilt.
At first I wasn't sure if I did something wrong when I first worked with it, but I copy pasta it and had those issues.

getBlockTileEntity was renamed to getTileEntity in 1.7.x and above
See https://github.com/Lomeli12/MultiBlock-Tutorial/blob/master/src/main/java/multiblock/ItemSpecialBlock.java#L11
Yes, that's intended.
That's a bug.
That's also a bug.
thanks for the heads up.


try out aligncheck on our structs

Probably not even worth doing, but might be interesting to see how much space we can save on Client by reordering the struct fields:
https://gitlab.com/opennota/check

github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/channel.go:24:6: struct Channel could have size 392 (currently 400)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/client.go:48:6: struct Client could have size 688 (currently 736)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/config.go:178:6: struct NickReservationConfig could have size 48 (currently 56)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/config.go:230:6: struct STSConfig could have size 40 (currently 48)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/config.go:56:6: struct AccountConfig could have size 416 (currently 432)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/help.go:28:6: struct HelpEntry could have size 40 (currently 48)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/server.go:957:6: struct elistMatcher could have size 24 (currently 32)
github.com/oragono/oragono/irc: /home/shivaram/go/src/github.com/oragono/oragono/irc/socket.go:30:6: struct Socket could have size 112 (currently 120)

tl;dr small potatoes compared to the potential gains from optimizing the client's read buffer size. (Right now, we eagerly expand the buffer to the maximum possible size of the client line --- around 6 KB --- even though most clients will never send a message over 1 KB.)


Provide a typesafe API for configuring pattern layout

When an IvyArtifactRepository is configured with a pattern layout, it
can be further configured. This change deprecates the older method that
took both the layout name and a configuration closure in favour of a
named method to configure the pattern layout since the others cannot
be configured.

@eskatos @melix Use of DeprecationLogger has been added.


Splash screen ends too soon

Describe the bug
Main view does not get fully loaded before splash activity ends. The app starts with splash screen, then slides in the actual app window showing only background and only after a moment shows the main view.
To Reproduce
Create a project from avalonia cross platform template and run it on Android phone.
Expected behavior
Splash screen should end when main view is loaded in main window and ready to show with the slide in animation.
Platform
Android
Additional context
Perhaps I am wrong about how it should work but it seems pointless to me to have the splash screen show first only to end before the actual app is fully loaded. I have circumvented it previously with setting the main activity to start directly without splash screen and setting the window background to look like the splash screen which is closer to the desired effect (though the main view still blinks black before loading) but now on preview 4 it seems that splash screen is required to start the app.

This issue has been fixed in the latest dotnet templates. In projects created from the old templates, the LaunchMode value in MainActivity should be changed to LaunchMode.SingleTop.

This issue has been fixed in the latest dotnet templates. In projects created from the old templates, the LaunchMode value in MainActivity should be changed to LaunchMode.SingleTop.

Thanks, that does work! A bit of a shame that the native (I think) slide in animation is hidden this way, but the behaviour is as expected - splash screen ends and goes straight to the specified main avalonia view.


Client Class Mapping

Hi,
i still don't really understand what the best way is to map the ABAP/JSON in the request/response.
If i look into the example it is not implemented or am i wrong?
METHOD zif_interface002~_test.
    DATA lv_code TYPE i.

    mi_client->request->set_method( 'POST' ).
    mi_client->request->set_data( '112233AABBCCDDEEFF' ).
    mi_client->send( ).
    mi_client->receive( ).

    mi_client->response->get_status( IMPORTING code = lv_code ).
    mi_client->response->get_data( ).
* todo
ENDMETHOD.

I though i need to implement it manually myself but do you have a hint what is the best way for the mapping?
(In your Example you would have the Returning Type ret__test)

yea, still some work to do
idea is that it generates all the boring stuff, serializing and deserializing, so the developer can focus on the actual logic

So still some work to do but that is okay. Type Generation is already super handy.
I think i will start serializing/deserializing with /ui2/cl_json but maybe later switch to a ST.
(Because of https://blogs.sap.com/2022/10/27/abap-fast-json-serialization/ )


add num-devices parameter

Number of supported devices was set to 8 in the driver code. This was a showstopper for my DRA performance testing where substantial number of pods were created to assess DRA latency, so I made it configurable.

/assign @klueska


Improve logging

Summary

Remove all object prints from the debug logs.
Add metatada to the logger before running the transformation
Ability to print whole functionIO to the events

If the GRPC server is in devmode, it will print the whole FunctionIO to the events. You can get the events of the specific composite with:
k get event --field-selector involvedObject.name=mycomposite -ojson | jq -r '.items[].message' > myfile
Checklist

[ ] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[ ] Update tests.
[ ] Link this PR to related issues.

As already discussed, for prepareFuncLogger() is a great idea but we should only get the composite name as the other 2 somehow are redundant. Meanwhile appendFuncIOToMessages() does not add in my opinion much value, with this approach we move out the function io from logs to events. It helps cleaning out the logs but it will be more difficult to connect the logs to the function io later on. Anyway for debugging purposes it should be fine though we need to find a better approach like having only the diff?

I'm looking into the diff idea.


Fetching translations from github

You need to enable GitHub Pages in this repo, because translations are fetched from https://l0c4lh057.github.io/AccountSwitcher/translations.json
Fixes this suggestion

sorry, just saw this right now. because there is a newer version i can't merge this. (maybe i can resolve the conflicts and it will work, but i dont want that something breaks bc i'm too stupid and forget something and do something wrong). you can maybe make the changes again and create a new pr or maybe i'll look into it when i'm about to make an update


Choose MPPT voltage

The voltage for the MPPT (maximum power point tracking) for the solar panel is set with a voltage divider of R3 and R4.  We'll need to choose suitable values for that to set the voltage.
From the datasheet:

The maximum power point voltage is decided by the following equation:
Vmppt = 1.205 x (1 + R3 / R4)

I'm still not sure what's best for the MPPT voltage.  Looking at this solar harvesting board I've used in the past for an example, that's set to 70% of the open circuit voltage of the panel.
Now, we don't know what panels we're likely to use, but I do have a 12V panel here I can try, and 6V panels are also quite common, so as a start I'll get some resistors for 70% of either of those voltages.
Reworking that equation we get that R3/R4 = (0.7*Voc)/1.205 - 1.  So for a 12V panel R3/R4 = 5.97; and for a 6V panel R3/R4 = 2.485.  Mapping very roughly onto more common resistor values, if we get some 330ohm, 1K and 2K, we can see how that fares.

On the test boards we made up today R3=2K R4=330 which gives R3/R4 ~ 6

Reading this article on MPPT I wonder if the capacitors to smooth the wind output are (a) getting in the way of the chip working out the right solar power to track the maximum power point, and (b) if they'd even be needed for the wind power either.
Could be worth some tests in #12 with the capacitors removed.


I get an error when I run the bot

key': 'a331d60fe8e76f39d957d74d083b4191f61e7817c5b0ab25d1d89cc3ccc8cbb0',
'leverage': 19.0,
'logging_level': 0,
'market_stop_loss': False,
'max_markup': 0.01135,
'min_close_qty_multiplier': 0.15,
'min_markup': 0.00066,
'n_close_orders': 18.0,
'n_entry_orders': 8,
'stop_loss_liq_diff': 0.07,
'stop_loss_pos_price_diff': 0.9,
'stop_loss_pos_reduction': 0.01,
'symbol': 'BTCUSD'}
2021-03-17T19:30:44  wss://stream.bybit.com/realtime
2021-03-17T19:30:45  fetched trades BTCUSD 264746304 2021-03-17T16:30:44.566000
2021-03-17T19:30:51  fetched trades BTCUSD 264745304 2021-03-17T16:28:54.416000
Traceback (most recent call last):
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 121, in fetch
http_response = await response.text()
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 1076, in text
await self.read()
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 1032, in read
self._body = await self.content.read()
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/streams.py", line 370, in read
block = await self.readany()
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/streams.py", line 392, in readany
await self._wait("readany")
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/streams.py", line 306, in _wait
await waiter
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/aiohttp/helpers.py", line 656, in exit
raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "bybit.py", line 305, in
asyncio.run(main())
File "/usr/lib/python3.8/asyncio/runners.py", line 43, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "bybit.py", line 301, in main
await start_bot(bot)
File "/home/hotpoint/Bybit_bot/Passiv-X-main/Passiv-25/passivbot.py", line 955, in start_bot
await bot.start_websocket()
File "bybit.py", line 256, in start_websocket
await self.init_indicators()
File "/home/hotpoint/Bybit_bot/Passiv-X-main/Passiv-25/passivbot.py", line 865, in init_indicators
ticks = await self.fetch_ticks()
File "/home/hotpoint/Bybit_bot/Passiv-X-main/Passiv-25/passivbot.py", line 853, in fetch_ticks
additional_ticks = await asyncio.gather(
File "bybit.py", line 244, in fetch_trades
return await fetch_trades(self.cc, self.symbol, from_id)
File "bybit.py", line 85, in fetch_trades
fetched_trades = await cc.v2_public_get_trading_records(params=params)
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 95, in fetch2
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
File "/home/hotpoint/Bybit_bot/env/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 143, in fetch
raise RequestTimeout(details) from e
ccxt.base.errors.RequestTimeout: bybit GET https://api.bybit.com/v2/public/trading-records?symbol=BTCUSD&limit=1000&from=264720304
bybit requires to release all resources with an explicit call to the .close() coroutine. If you are using the exchange instance with async coroutines, add exchange.close() to your code into a place when you're done with the exchange and don't need the exchange instance anymore (at the end of your async coroutine).
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7efdcc672b20>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7efdcc6a1d60>, 3587.278847999)]']
connector: <aiohttp.connector.TCPConnector object at 0x7efdcc6c6a60>
Bot stopped, attempting to restart in 13 seconds^C

Hi! I'm unable to replicate this issue. Appears to be an issue with ccxt at first glance.
Try updating your ccxt package to the latest version: https://pypi.org/project/ccxt/
The requirements.txt file does not have version specification for packages, and the bot has been known to act up with older versions of it. Sometimes your env may install a lower package for compatibility, although I'm unsure of your environment.
If you have any steps to replicate let me know!

No response, bug is not fatal, unable to replicate, ccxt versioning issue. Closing!


In "completion" detect shell and run appropriate script

current situation:
ubuntu@wph:~$ hossted completion
Generate the autocompletion script for hossted for the specified shell.
See each sub-command's help for details on how to use the generated script.

Usage:
  hossted completion [command]

Available Commands:
  bash        Generate the autocompletion script for bash
  fish        Generate the autocompletion script for fish
  powershell  Generate the autocompletion script for powershell
  zsh         Generate the autocompletion script for zsh

should be - we run ps -p $$, determine shell and run relevant script

command completion is generated by the framework, not sure if it's good to change it.
is it possible to put the completion scripts (all available shells, bash, fish, etc,..) when we create the vm with some start-up scripts instead.


ARTEMIS-2421 periodic journal lock evaluation

If a broker loses its file lock on the journal and doesn't notice (e.g.
network connection failure to an NFS mount) then it can continue to run
after its backup activates resulting in split-brain.
This commit implements periodic journal lock evaluation so that if a live
server loses its lock it will automatically restart itself.

Since the original author apparently abandoned #2547 I took their branch, resolved the conflicts, eliminated Thread.sleep() from the tests, and added a proper commit message.

If you lost connectifity into NFS, you would get an IOException and the broker would stop?
or are you concerned on the case where the broker is idle?

or are you concerned on the case where the broker is idle?

@clebertsuconic, yes. I believe that's the use-case here. You can read more about it on ARTEMIS-2421. It's a pretty straight-forward scenario to reproduce the problem (although I haven't tried it).

@jbertram sorry, I didn't realize where this was coming from.. I see it was a user PR originally.
let me see if I can adapt the ActiveMQScheduledComponent here.although it's not that easy given the location of the component (CLI).

there is a chance of thread leaks on the testsuite. I will run the whole testsuite before merging this.
I already have a commit to use the ScheduledComponent.

Testsuite hung on RealNodeManagerTest. I'm running again, but please don't merge this yet.

The issue is exactly what I mentioned. the use of the ScheduledExecutor left non daemon threads running on a few tests that were using Spawn. Causing the VM to never finish on those cases.
The testsuite didn't go far enough to leak on the Junit Rules that we have written.
But using the ScheduledComponent will provide a fix as it already has the proper Thread factory in place among a few other benefits (avoiding for instance calls happening too fast which could happen when the run takes longer).


Purge badges cached by GitHub's proxy

Docs.rs' badge handler started sending CacheControl header since c97a95a96847ed9a73101de639425652bb43a76c. Some projects started using docs.rs badges before this commit and GitHub's image proxy service camo cached this badges for an unknown time period. This badges needs to be purged from camo, and then docs.rs badges can start working properly in GitHub.
If you started using docs.rs badges before 3rd September or your badge keeps showing an old version, you can simply PURGE badge from GitHub's proxy server with:
curl -X PURGE {camo-url-of-badge}

I believe this issue is fixed and github's camo service is caching all badges properly.


It's an attempt to write down how I use tcomb in my own projects, hope it's helpful to others.
Any comment, suggestion or review is welcome.
Cheers,
Giulio

Very helpful, especially the last section on converting Dates, as I've been looking at jsonapi, also id fields are serialized as a string instead of an integer (I wonder if there's an idea for another tcomb library variant in the future? - at the moment I'm using https://github.com/beauby/jsonapi-datastore to parse the responses).
Anyway, in my scenario I found a few issues with the deserialise function:

I needed to override fromJSON on a refinement (subtype).
list was missing.
unknown props would throw an error, rather than be ignored as with normal construction.

Here's my version (uses Babel):
// Deserialize to tcomb type, allows for conversions via a fromJSON function on the type.
export const deserialize = (value, type) => {
  // Ignore unknown types, probably extra data that will be ignored anyway.
  if (!type) {
    return value
  }

  const { kind } = type.meta
  switch (kind) {
    case 'struct':
      return type(Object.keys(value).reduce((acc, key) => {
        acc[key] = deserialize(value[key], type.meta.props[key])
        return acc
      }, {}))
    case 'list':
      return type(value.map((element) => deserialize(element, type.meta.type)))
    case 'maybe':
      return deserialize(value, type.meta.type)
    case 'subtype': // the kind of refinement is 'subtype' (for legacy reasons)
      // See if custom serializer, else delegate to supertype.
      if (t.Function.is(type.fromJSON)) {
        return type.fromJSON(value)
      }
      return deserialize(value, type.meta.type)
    case 'enums':
    case 'irreducible':
      if (t.Function.is(type.fromJSON)) {
        return type.fromJSON(value)
      }
      return value
  }
}

Are there any other types that should be handled? Should the default case throw an error or return value?

Hi @grahamlyus,
The deserialize function is just an example of RTI, it doesn't mean to be complete, but I should mention that, thanks for pointing out!

Are there any other types that should be handled?

Technically tuple, dict, intersection and union are missing.
For a complete implementation, which is very interesting, I opened a issue here https://github.com/gcanti/tcomb/issues/169

it doesn't mean to be complete

However how I'm handling maybe is not good, so I amended the example in GUIDE.md

Is there a quick method to disable runtime checking without needing to run in NODE_ENV=production?

@marwanhilmi not that I'm aware. May I ask you what's your use case?

We use NODE_ENV to toggle our config, ie NODE_ENV=staging so it would be nice to have another option to disable runtime checking without specifically checking for production. Perhaps its own env flag?


Task processor tries to process single task twice

Despite the select_for_update(skip_locked=True) method call on the queryset here, it seems as though it's possible to get the same task picked up by 2 different worker threads.
For the health check, this is fairly apparent as you end up with an IntegrityError when it tries to create the new HealthCheckModel with a UUID that already exists.
This issue can occur on the same task processor instance (because of the multiple threads) but seems to be more apparent when there are multiple processor instances running. I was not able to reproduce it (unsurprisingly) when running with a single task processor instance with a single thread.
More investigation needed...

I've tried to replicate the issues that I'm seeing in our task processor by running the following script through python manage.py shell < script.py, however, this works as expected. The script essentially just starts a thread to lock a row for 5 seconds, then (after waiting 1 second to ensure the thread has started correctly) tries to obtain the same row from the database. The script will error if it IS able to retrieve the same row from the database.
Note that I'm arbitrarily using the Organisation model for no reason other than it has very few required attributes.
import threading
import time
import typing

from django.db import transaction

from organisations.models import Organisation

def _get_organisation(organisation_id: int) -> typing.Optional[Organisation]:
    return (
        Organisation.objects.select_for_update(skip_locked=True)
        .exclude(projects__hide_disabled_flags=True)
        .filter(id__gt=organisation_id - 1, id__lt=organisation_id + 1)
        .order_by("created_date")
        .first()
    )

@transaction.atomic()
def hold_organisation(organisation_id: int = 1, sleep_for_seconds: int = 30):
    org = _get_organisation(organisation_id)
    assert org
    time.sleep(sleep_for_seconds)

organisation, _ = Organisation.objects.get_or_create(name="testing select_for_update")
organisation_id = organisation.id

t = threading.Thread(target=hold_organisation, args=(organisation_id, 5))
t.start()

time.sleep(1)  # wait for thread to start correctly

with transaction.atomic():
    # this should not return an organisation as we're skipping locked rows and the
    # thread started above has a lock on the row we're looking for
    assert not _get_organisation(organisation_id)

t.join()

print("Success!")

It seems as though, it's something to do with the outer join that's happening when we filter on .exclude(task_runs__result=TaskResult.SUCCESS). I believe this is, in certain cases, causing duplicate rows - perhaps if the task has failed once before - and the duplicate rows are not locked, meaning the processor tries to process them again.
For now, I have denormalised the data to include a completed_at attribute on the Task model so that we can use that for filtering instead of filtering across the outer join and I'm no longer seeing any cases of duplicate tasks being processed.


v2

Let's add rules here that we have second thoughts about.

[ ] Disable react/jsx-one-expression-per-line (https://github.com/transloadit/transloadit-api2/pull/2421#discussion_r616611886)

I think the React Hooks linting rules never made it in v1. It's an invaluable set of rules for preventing bugs in modern React using hooks.
Can be enabled by changing extends to ["airbnb", "airbnb/hooks"]
https://github.com/transloadit/eslint-config-transloadit/blob/2d52b0f69daf28bfcd39b99f1f8ea1bffa72cfd9/index.js#L3
See https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb#eslint-config-airbnbhooks

+1, React hooks is a blind-spot for me, have no knowledge of it, will follow your judgement :ok_hand:

+100 to adding the hooks dependencies rule, as mentioned in the PR review ☝

I added hooks now. Shall we release a new version v2 with this so we can start to use it in our repos?

I wonder if we should use the major to bundle more with it, what about:

Disable react/jsx-one-expression-per-line?

We could also scan our biggest X project's .eslintrc.js files and check for overlapping we're actually okay with these sections, and consider adding those to our linting standard instead of having exceptions in all repos

Sure.
Oh btw disabling rules is not really a breaking change though? So that can be done at any time for a patch/minor version too?

+1 on disabling rules without a breaking change. To me it would only be breaking if previously passing code would afterwards fail.

that is a fair point yes!

:+1: will ask if anyone has gripes

So the things that we could include in this v2 is:

whether anyone knows about some hip new eslint rules that should be added to our ruleset that would improve our coding
maybe upgrade the upstream airbnb eslint dependency to get their latest and greatest rules
whether some of the currently disabled rules should be re-enabled https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L56

I'm +1 for enabling

max-classes-per-file
one-var
no-restricted-syntax

ForInStatement
LabeledStatement
WithStatement

I haven't evaluated yet how much work this would be

I haven't evaluated yet how much work this would be

the escape there is letting the projects override to being a warn, and then making the respective refactoring & removal of warn overrides as separate pushes

I'm very for enabling as many rules as we want here (regardless how hard it is to fix those in all the projects) and then disable the rules (or set them as warn) in all the projects. That way as many projects as possible can take advantage of as many rules as possible from the central eslint-config-transloadit ruleset.

one-var

+1

no-restricted-syntax

ForInStatement
LabeledStatement
WithStatement

You want to allow or disallow these? Afaik there are already disallowed: https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L60
In addition, I would like to propose these changes:

Remove this line (same as default from airbnb): https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L78

change to error: https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L36

Enable this? https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L59

always-multiline? (or remove it to inherit from the upstream rule) https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L125

Enable this? can prevent mistakes if accidentally typing = instead of == (individual lines can be eslint-disabled where code is needed like (match = x.match())) https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L140

Can remove this as it is already enabled upstream? https://github.com/transloadit/eslint-config-transloadit/blob/9646317595bed16aa96bf61ab22d28528a8fb276/index.js#L149
https://github.com/airbnb/javascript/blob/37d48dbf6082bd8958fdc5db5df207bb1166d653/packages/eslint-config-airbnb-base/rules/style.js#L427

You want to allow or disallow these? Afaik they are already disallowed:

I misread, I want to disallow as much restricted syntax as possible.

Remove this line (same as default from airbnb):

+1

change to error:

(no-unreachable-loop) +1

Enable this?

(no-underscore-dangle) +1 for variables, but -1 for anything on a class

always-multiline? (or remove it to inherit from the upstream rule)

(comma-dangle) Why didn't we do that already, for functions?

Enable this? can prevent mistakes if accidentally typing = instead of == (individual lines can be eslint-disabled where code is needed like (match = x.match()))

+-0

You want to allow or disallow these? Afaik they are already disallowed:

I misread, I want to disallow as much restricted syntax as possible.

Ah so you want to also disallow ForOfStatement. IMO sometimes it can be useful to do await inside a for of, instead of using pMap with concurrency=1, but I'm not religious about that and I do see disadvantages of for-loops.

(no-underscore-dangle) +1 for variables, but -1 for anything on a class

Now that js classes support private #method, I'm not sure why we need underscores in classes, but it may be a too big change for some who are used to writing underscore.

(comma-dangle) Why didn't we do that already, for functions?

The commit https://github.com/transloadit/eslint-config-transloadit/commit/d110589774b693aee42139d7581111e7cfcb0c8c doesn't say anything about why, maybe @kvz can elaborate

Ah so you want to also disallow ForOfStatement. IMO sometimes it can be useful to do await inside a for of, instead of using pMap with concurrency=1, but I'm not religious about that and I do see disadvantages of for-loops.

I don't follow, sorry. I want do disallow for in, and keep for of. And I didn't mention await inside loop. I personally would like to be able to await inside a loop, without disabling the rule, but I can see how this can be useful for less experienced js devs.

Now that js classes support private #method, I'm not sure why we need underscores in classes, but it may be a too big change for some who are used to writing underscore.

Right, we can use that now! Then I'm +1 for disallowing _method. There will be a lot of code changes also because of lodash, which is currently commonly imported as
const _map = require('lodash/map')

I don't follow, sorry. I want do disallow for in, and keep for of. And I didn't mention await inside loop. I personally would like to be able to await inside a loop, without disabling the rule, but I can see how this can be useful for less experienced js devs.

Ah, yes I just meant that sometimes I write code like this to run an async operation on an array in series:
for (const val of array) {
  await runSomething(val);
}

if we disallow for-of I can no longer write that code, but instead have to write something like:
const pMap = require('p-map');
await pMap(array, runSomething, { concurrency: 1 });

...which I am also fine with.

Right, we can use that now! Then I'm +1 for disallowing _method. There will be a lot of code changes also because of lodash, which is currently commonly imported as

I think it's gonna be a lot of code violating that rule too in some projects, but we can just disable this rule in these projects, but keep it enabled in eslint-config-transloadit

...which I am also fine with.

Sorry, I didn't say anywhere that I want to disallow for-of, which would be a terrible choice for me

Sorry, I didn't say anywhere that I want to disallow for-of, which would be a terrible choice for me

oops sorry I misread you then! for-in is already disallowed. Currently disallowed statemenets are: ForInStatement, LabeledStatement and WithStatement. Which ones do you want to disallow/allow relative to this?

oops sorry I misread you then! for-in is already disallowed. Currently disallowed statemenets are: ForInStatement, LabeledStatement and WithStatement. Which ones do you want to disallow/allow relative to this?

No worries, if we disallow the default set of statements that should be fine

@aduh95 suggested these two changes:
'no-await-in-loop': 'off',
'object-shorthand': ['error', 'always'],

Anyone else have opinions about those?
object-shorthand seems to be already set from airbnb to:
    'object-shorthand': ['error', 'always', {
      ignoreConstructors: false,
      avoidQuotes: true,
    }],

so I guess that's fine, or do you have any strong reason to remove ignoreConstructors: false or avoidQuotes: true?
The argument for keeping no-await-in-loop enabled is to discourage developers from writing code that performs slower, because if we use a for-loop with await on each item it will process the items in series. Often async operations on elements in an array don't depend on eachother and can be run in parallel (with something like pMap) which could be much faster. See https://eslint.org/docs/rules/no-await-in-loop
Shall I do all the changes we agreed upon and then release a v2?

'object-shorthand': ['error', 'always'],

+1

The argument for keeping no-await-in-loop enabled is to discourage developers from writing code that performs slower, because if we use a for-loop with await on each item it will process the items in series. Often async operations on elements in an array don't depend on eachother and can be run in parallel (with something like pMap) which could be much faster. See https://eslint.org/docs/rules/no-await-in-loop

I'm +-0 on this, it's a bit annoying that you have to disable a rule although you write perfectly correct and performant code. If you know what you're doing.

Let's disable it and see if it bites us?

Created a PR for more v2 changes: #12


Gameboy Advance Support

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Support for developing and compiling GBA games
Maybe like a separate project type with extended resources for GBA compat
Describe alternatives you've considered
Butano (GBA C++ Game engine)
Additional context
you could implement butano into GBStudio and do it that way

A few devs have answered this question before. Unfortunately GB Studio's IDE is catered to generate C code for the GB. Even though it uses external libraries to compile roms, GB Studio is still responsible for generating most of that GB code, which can't be run on the GBA's unique architecture. They are two fairly different machines despite the name.
It wouldn't be impossible, but there's not a lot of people actively working on GB Studio right now, so refactoring the entire engine (even more than the full engine re-write that was done for 3.0!) and then maintaining compatibility for multiple systems would definitely slow down GB Studio's development. So adding GBA support might kill GB Studio 😅
See also: https://github.com/asiekierka/gbsenpai

@UntrustedInstaller I am currently working on a game engine called DS Creator. And once it is done, I plan to make a game engine for making GBA games. From what I've heard from GBA game devs, the DS and the GBA are very similar.
Also, @DeerTears if you were to use libgba which you can install with devkitPro, you could write C code for the GBA.


injectStripe is not a function error

Summary
I am using injectStripe as mentioned here (https://stripe.dev/react-stripe-elements/#card) and const CardForm = injectStripe(_CardForm); is returning the error TypeError: Object(...) is not a function. I'm not certain what is causing this.
Other information

This is the example gist I'm working off of.
https://gist.github.com/patientplatypus6/f21ee944c903ea0938a3c88303b6abd5

Seems like I've run into the same issue while updating react and its dependencies. Any hint on how we can work around this issue?

Hi all! I think there's just some confusion here. The stripe.dev link you mentioned above is for this package, react-stripe-elements (which is being deprecated). But the code gist you link to is trying to import it from the new package, react-stripe-js, which has a different API. You are free to keep using this package if you like and follow those docs. But if you are going to use react-stripe-js, then please follow the code snippets there.


Offline mode, so that the page works offline as long as you've accessed it online once before

Along these lines, have you thought of making it into a plug-in? Thi shas been done with Shotty Steve's one; see here. It's extremely beneficial. I'm doing a park with free rides and pay-to-enter only. It's annoying to have to type in so many details to the website. Obviously, it's an amazing improvement over nothing, and I'm very grateful for it. Just suggesting a way of improving!


if pre-release publish with "next" tag on npm instead of default latest

per conversation in https://github.com/axodotdev/cargo-dist/pull/1054#issuecomment-2115900570
i apparently misremembered the default behavior of npm pubilsh when you are publishing a package with a semver pre-release version. if something is a pre-release and there are stable releases, we should tag the npm publish as next, not latest. you can see examples of this with prettier and eslint

Actually, you can use the pre-release version (ex. pre-release-0.15.0) as a tag, it will be more accurate.


HADOOP-16794. S3A reverts KMS encryption to the bucket's default KMS …

…key in rename/copy.
AreContributed by Mukund Thakur.
This addresses an issue which surfaced with KMS encryption: the wrong
KMS key could be picked up in the S3 COPY operation, so
renamed files, while encrypted, would end up with the
bucket default key.
As well as adding tests in the new suite
ITestS3AEncryptionWithDefaultS3Settings,
AbstractSTestS3AHugeFiles has a new test method to
verify that the encryption settings also work
for large files copied via multipart operations.

Tested with my bucket in ap-south-1 with params -Ds3guard -Ddynamo  -Dparallel-tests -DtestsThreadCount=8  . All tests fine apart from ITestS3GuardToolDynamoDB.testDynamoDBInitDestroyCycle which was failing on base branh-3.2 as well.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
7m 58s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 7 new or modified test files.

_ branch-3.2 Compile Tests _

+1 :green_heart:
mvninstall
18m 57s
branch-3.2 passed

+1 :green_heart:
compile
0m 29s
branch-3.2 passed

+1 :green_heart:
checkstyle
0m 24s
branch-3.2 passed

+1 :green_heart:
mvnsite
0m 34s
branch-3.2 passed

+1 :green_heart:
shadedclient
12m 49s
branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 25s
branch-3.2 passed

+0 :ok:
spotbugs
0m 50s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
0m 47s
branch-3.2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 35s
the patch passed

+1 :green_heart:
compile
0m 24s
the patch passed

+1 :green_heart:
javac
0m 24s
the patch passed

-0 :warning:
checkstyle
0m 16s
hadoop-tools/hadoop-aws: The patch generated 7 new + 12 unchanged - 0 fixed = 19 total (was 12)

+1 :green_heart:
mvnsite
0m 27s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
13m  9s
patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 23s
the patch passed

+1 :green_heart:
findbugs
0m 55s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
4m 30s
hadoop-aws in the patch passed.

+1 :green_heart:
asflicense
0m 30s
The patch does not generate ASF License warnings.

65m 13s

Subsystem
Report/Notes

Docker
Client=19.03.7 Server=19.03.7 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1875/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1875

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 3a8fb3d0c03d 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
branch-3.2 / 369f4f9

Default Java
1.8.0_242

checkstyle
https://builds.apache.org/job/hadoop-multibranch/job/PR-1875/1/artifact/out/diff-checkstyle-hadoop-tools_hadoop-aws.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1875/1/testReport/

Max. process+thread count
452 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1875/1/console

versions
git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@steveloughran and @mukund-thakur
Per my previous investigation in this review, I have backported the changes in HADOOP-16626 partially into branch-3.2. The backported changes fixes the problem of adding configuration resources. The test ITestRestrictedReadAccess was not there in branch-3.2 yet so I ignored that file.
Then I tested with removeBaseAndBucketOverrides when patching encryption configuration, it seems to work, at least for both ITestS3AEncryptionWithDefaultS3Settings and ITestS3AEncryptionSSES3.  The code is in my branch https://github.com/liuml07/hadoop/tree/HADOOP-16794.HADOOP-16626-branch-3.2 please see the latest two commits. I think we can run more tests to confirm this.
Question: does this backport make sense to happen separately, or we can merge with this PR?
So, what is the best way

Again, for the branch-2.10 change, I backport the fix to there and did some manual testing. I did not work on the integration tests conflicts since they are not resolved even to branch-3.2.

Create an S3 bucket and set the default encryption to KMS. Create our own key in KMS and select that for the S3 bucket as default encryption key. All of this was from AWS Web Console for S3.
No client configurations for S3 at all, neither in core-site.xml nor command line -D
Confirm the bug without this patch
3.1 hadoop  fs -put /etc/hosts s3a://s3guard-mingliang/1 => This is not using our KMS key but the Amazon one
3.2 hadoop fs -cp s3a://s3guard-mingliang/1 s3a://s3guard-mingliang/1-copy => This is not using our KMS key but the Amazon one
3.3 hadoop  fs -put -d /etc/hosts s3a://s3guard-mingliang/1-d => This is using our KMS key because this is a direct put, without copy operation internally
Confirm the fix with this patch
4.1 hadoop  fs -put /etc/hosts s3a://s3guard-mingliang/2 => This is using our KMS key
4.2 hadoop fs -cp s3a://s3guard-mingliang/2 s3a://s3guard-mingliang/2-copy => This is using our KMS key
4.3 hadoop  fs -put -d /etc/hosts s3a://s3guard-mingliang/2-d => This is using our KMS key

Thanks @liuml07  for the investigation. I believe HADOOP-16626 needs to be backported to  branch 3.2. We will wait for @steveloughran  comments.

I think the way to do 3.2 support properly is to pretty much backport all the 3.3.x stuff in order

@steveloughran Thanks. I think bulk backporting 3.3 stuff to 3.2 for most if not all hadoop-aws module makes sense. I see HADOOP-15619  is already fixed. Is this a good time to do the bulk backport?
Specially, I think we need to backport this security fix to 2.10 branch. We locally backported (without test coding due to conflicts) and it works well on that branch so far.

yeah, bulk backport it is. Some of the stuff are big features (delegation tokens) that I'd targeted 3.3 with, but they change the code enough its easiest to leave them in.
HADOOP-13230 (#1861) is a WiP -a full backport will make cherrypicking that to 3.2 straightforward. I'll have to a new patch for <3.1. Not because I want them to add the ability to retain markers, but I don't want them to mistake a dir marker for an empty dir. That's also why marker retention is off by default, and the "authoritative" option will restrict it to auth mode directories, so Hive can do it with its managed directories while leaving the rest alone

Thanks @steveloughran I can help review #1861 That is a big patch.
For the bulk import, I don't have enough context which JIRAs should be left in 3.3 and may not be able to resolve conflicts. I can help with review and testing though.

yeah, #1861 is big. I am going to see if I can get the changed getFileStatus code into hadoop 3.3.0 before it is frozen, so I don't have to worry about cross-version compatibility there. It will still be deleting directory markers as today, simply doing a LIST for marker & children and skipping HEAD + /

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
10m 47s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 7 new or modified test files.

_ branch-3.2 Compile Tests _

+1 :green_heart:
mvninstall
21m 18s
branch-3.2 passed

+1 :green_heart:
compile
0m 29s
branch-3.2 passed

+1 :green_heart:
checkstyle
0m 22s
branch-3.2 passed

+1 :green_heart:
mvnsite
0m 36s
branch-3.2 passed

+1 :green_heart:
shadedclient
13m 46s
branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 23s
branch-3.2 passed

+0 :ok:
spotbugs
0m 51s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
0m 49s
branch-3.2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 38s
the patch passed

+1 :green_heart:
compile
0m 25s
the patch passed

+1 :green_heart:
javac
0m 25s
the patch passed

-0 :warning:
checkstyle
0m 17s
hadoop-tools/hadoop-aws: The patch generated 7 new + 12 unchanged - 0 fixed = 19 total (was 12)

+1 :green_heart:
mvnsite
0m 29s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
13m 23s
patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 22s
the patch passed

+1 :green_heart:
findbugs
0m 58s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
4m 37s
hadoop-aws in the patch passed.

+1 :green_heart:
asflicense
0m 27s
The patch does not generate ASF License warnings.

71m 37s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-1875/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1875

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 068590c9fc02 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
branch-3.2 / cd5efe9

Default Java
Private Build-1.8.0_252-8u252-b09-1~16.04-b09

checkstyle
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-1875/2/artifact/out/diff-checkstyle-hadoop-tools_hadoop-aws.txt

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-1875/2/testReport/

Max. process+thread count
411 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-1875/2/console

versions
git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

what's the status of this? Merge or WONTFIX?

@steveloughran I think we can merge this into branch-2.10.
This is very important fix. The failing tests are just about tests per my previous debugging comment. The fix itself is reviewed and already in 3.3.0 releases. We have backported this fix into our internal light-fork 6 months ago, and customers have not complained since then. For the normal testing without per-bucket settings, the test will pass.
Thoughts?

@steveloughran Given the failing tests are not related to the fix per se, do you think it's fine if I backport the fix only without including tests into branch-2.10?  I think it would be nice to include this in new pending release 2.10.1.

do you think it's fine if I backport the fix only without including tests into branch-2.10? I think it would be nice to include this in new pending release 2.10.1.

fine with me

Thanks @steveloughran  I will file a new PR for backporting the fix (not necessarily including test changes) this into branch-2.10 branch. Hadoop 2.10.1 has been just released so this will be target 2.10.2.
So, is my another proposal also valid? Specially, If we plan the effort of bulk backporting those good stuff from 3.3/3.4 back to 3.2, the per-bucket test failures will also be resolved. But I do not see that is planed yet. Since this PR is fixing security issues, I think we can merge this PR into branch-3.2 before that. If so, @mukund-thakur can help us rebase and ideally run another round of tests.

3.2 and 3.3 have diverged so much in s3a. I tried a bit of a backport and gave up.
Now, internally, CDH 7/CDP is built on the 3.1+ codebase, with much of the s3a changes backported. But its not always easy, and was done as code was added

mockito changes break tests, even though things compile
commons-lang is trouble
some things (multipart uploader API) haven't gone back

I'm reluctant to replicate the same problems here.
What would be good

do an AWS SDK update everywhere
on older releases, turn off tests we know are flakly/fixed with big changes on later branches
backport FS API Changes (openFile() in particular) so that code can compile more broadly against them. That doesn't mean backporting all the speedups behind the scenes, just the API


post links are always http , not https

I already set baseurl in config.toml to https://my_site
but the default page link still http , not https
is there any way to change default post link from http to https ?

That would be determined by the site through which you're hosting your content. For example, I've configured my domain using Netlify which hosts contents through https if you enable the TLS certification. In short, it isn't a HTML issue, rather it is the server side issue.

I deploy this site on google compute engine with caddy + supervisor +hugo,I will try to modify caddy to provide ssl certification tomorrow,thanks.


Take into account proof size for transaction payment and priority

closes https://github.com/paritytech/substrate/issues/13898.

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718316

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718323

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718317

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718318

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718369

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718376

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718371

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2718370

bot rebase

(nit: this is not in the right project, needs to be in FRAME).

I would like to see some empirical numbers here: what is the proof size going to be in Polkadot? should we even take it into account in Polkadot?

Relay chains have no problem here, since they use u64::MAX as PoV block limit.
This would only impact para-chains, once they enable PoV benchmarking.

bot rebase

bot rebase

And what is the average proof size weight in a parachain right now? Will the new dimension cause the tx-fees to skyrocket, if the proof size is always more than the targeted 25% that is used?

I looked at statemine and bifrost and they seem to have pretty empty blocks averaging less than 1% fullness by both ref_time and proof_size. They shouldn't cause any issue in the near future. But fine tuning tx fees would be a matter of setting correct max bounds for the proof_size such that block fullness by each dimensions are not too far away from each other.
The full results are here.

Code LGTM but I think the labeling is wrong here: This PR will significantly affect parachains and should be labled as note-worthy and have direction for parachain teams to consider.

Does each parachain use separate PoV limits? Cumulus picks the PoV limit from here https://github.com/paritytech/polkadot/blob/master/primitives/src/v5/mod.rs#L385.

Code LGTM but I think the labeling is wrong here: This PR will significantly affect parachains and should be labled as note-worthy and have direction for parachain teams to consider.

Does each parachain use separate PoV limits? Cumulus picks the PoV limit from here https://github.com/paritytech/polkadot/blob/master/primitives/src/v5/mod.rs#L385.

https://github.com/paritytech/polkadot/blob/master/primitives/src/v5/mod.rs#L385

Yes I think still different parachains assign different PoV limit via frame_system::Config::BlockWeight's second dimension.


Update routes and links for new Applications

Resolves #4647.
Notes:

URL to application timeline has been moved out of demo section. Now, go to /applications/{applicationId}/edit.
Clicking 'apply' on a job poster now creates a version2 application and brings you to new UI.
If you access version 1 application for a job that's still open, you will be sent to old application UI. I'm not sure we want to support this at all, since there really shouldn't be any extant jobs in production. Should we remove the old application UI (and routes) entirely?
Wrote a test for a new controller function (JobsController@apply) which routes applicants to the right page and creates a new Application if necessary.
Moved 'Next Steps' route of demo section to /applications/{applicationId}/next
With these urls, the default breadcrumbs link back to Application index, not the Job Poster. In fact, there's no easy way to go back and review the job poster you're applying for. Is that something we want to address with breadcrumbs, or some other way?

With these urls, the default breadcrumbs link back to Application index, not the Job Poster. In fact, there's no easy way to go back and review the job poster you're applying for. Is that something we want to address with breadcrumbs, or some other way?

Also probably worth getting some UX input on this... I know if I was going through our multi-step application process I would appreciate being able to either preview the poster or be able to jump back and forth.


Dropdown-Menu in Files-Dialog hidden

When linking features to a uploaded file, the dropdown menu with the search results is not visible. As a consequence one cannot get to the button to add the link to the file. See the attached screen shot

We have got the same problem


Update ASI SDK to 1.31

Updates ASI SDK to 1.31 which seems to support all cameras released until October 19, 2023 (changelog here seems to be incomplete, though)

Thanks much!
The ZWO change log is often not very useful. One time they just had "fixes".


chore: bump spec version

Description

Bump spec to 198
Related Issue(s)

Closes #[issue number]

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please describe):

Breaking Change
If this PR introduces a breaking change, please provide a detailed description of the impact and the migration path for existing applications.
Checklist

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have run cargo fmt and cargo clippy to ensure my code is formatted and linted correctly
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Screenshots (if applicable)
Please include any relevant screenshots or GIFs that demonstrate the changes made.
Additional Notes
Please provide any additional information or context that may be helpful for reviewers.

Closing in favour of #806


A non well formed numeric value encountered

Summary of problem or feature request
Calling DataTables::of for collection is leading to error
"A non well formed numeric value encountered"
{"draw":1,"recordsTotal":21,"recordsFiltered":0,"data":[],"error":"Exception Message:\n\nA non well formed numeric value encountered"}
Code snippet of problem
public function getReport(Request $request)
    {
        $start = Carbon::parse($request->start)->format('Y-m-d ');
        $end = Carbon::parse($request->end)->format('Y-m-d');

        $cdrs = Cdr::whereBetween(DB::raw('date(start)'), [$start, $end])->get(['src', 'dst', 'start', 'answer', 'end', 'duration', 'disposition', 'recordingfile']);

        //dd($cdrs);
        return DataTables::of($cdrs)->toJson();
    }

Operating System Windows 10
PHP Version 7.2
Laravel Version 5.8
Laravel-Datatables Version 9.0

Sorry to bother guys. I was doing a silly mistake! Calling get() to select columns.

Error is coming when I put serverSide: true

You should not use start on your variable name because DT uses this for pagination. Try changing the variable name.
$request->start --> $request->start_date

You should not use start on your variable name because DT uses this for pagination. Try changing the variable name.
$request->start --> $request->start_date

Wowww its work for me. Thank you


Use multiple scopes?

According to the spotify api documentation you can use multiple scopes https://developer.spotify.com/web-api/using-scopes/
But when doing authentication with ImplicitGrantAuth, the WebAPIFactory only takes one argument for scope. Am I missing something here?
Thanks!

https://github.com/JohnnyCrazy/SpotifyAPI-NET/blob/master/SpotifyAPI.Example/WebControl.cs#L110-L112

Thanks!


Add logging of health check failure events

In this change, a health check failure event will be logged if either of these conditions are true:

If the active health check failed and it's the first health check for a host. This ensures we have events for hosts that never became healthy.
If the active health check failed and a always_log_health_check_failures configuration is set to true, by default this flag is set to false. This makes it very easy to find the hosts currently failing by looking at the last few seconds of logs.

Risk Level: Low
Testing: Tests are added
Docs Changes: Yes
Fixes #4942

Can you fix DCO? See
https://github.com/envoyproxy/envoy/blob/master/CONTRIBUTING.md#dco-sign-your-work


Web console: add log tailing to task log view

Adds a check box to the task log view. When the check box is checked the get log function is called every 2 seconds and updates the log as well as position the scroll bar at the bottom.

I think you should move

to be left aligned

Looks good to go 👍


Is clockpicker works without jQuery ?

Can anyone help me if I want to use clockpicker without jQuery.

The same things. I'm using angular in my project and I would like to do this without jquery.

@sovanjana ,

For angular find an equivalent plugin. There are plenty


[Port]Fixing dashboard tab loading for non activable extensions (#24871)

Fixes https://github.com/microsoft/azuredatastudio/issues/24870. Cherry-picked 6bfa92936eef5e84593824aebc633472feaa611e from main

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 41.569%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
30784

Relevant Lines:
69356

💛  - Coveralls


POM file Error in Managing Open-source security and license with WhiteSource lab

I got the below-mentioned error in Maven Tasks in the Build Pipeline. Can’t understand this issue, I think the source code needs to update, please suggest. Do I have to update my POM File for this Project?
[ERROR]
Plugin org.apache.tomcat.maven:tomcat7-maven-plugin:2.3-SNAPSHOT or one
of its dependencies could not be resolved: Failed to read artifact
descriptor for
org.apache.tomcat.maven:tomcat7-maven-plugin:jar:2.3-SNAPSHOT: Could not
transfer artifact
org.apache.tomcat.maven:tomcat7-maven-plugin:pom:2.3-SNAPSHOT from/to
maven-default-http-blocker (https://<IP_ADDRESS>/): Blocked mirror for
repositories: [apache.snapshots (https://repository.apache.or…, default, releases+snapshots)] -> [Help 1]

I also had this issue and I discovered that pom.xml and webgoat-container/pom.xml both have a dependency that is unresolved in the internal Azure DevOps Maven Repository. Moreover when
Moreover, the Maven Repository URL in the pom.xml is http based as below: -
             <id>apache.snapshots</id>
+            <url>https://repository.apache.org/snapshots/</url>
-            <url>http://repository.apache.org/snapshots/</url>

It is just that Azure DevOps denies any http://<IP_ADDRESS> connectivity to Maven repositories so that's why the error.
I ended up updated my both Pom.xml files regarding the above problems to fix the Build issue and I was able to generate a nice WhiteSource bolt Report out of this.

Thanks, it worked now

Thank you @vnextcoder  for the fix. We will update in the template source code.
Thanks


bookmarks list

TODO:

desktop: make list scrollable (requested on G+)
mobile: use the new nav drawer API (c.f. #675). I made a naive implementation at 8a10848e15fc3dd2057a6582b038db00846bebe1, @leCradle reverted this change with 67f273fd6d4b1db7d3ac2363305a1d30e3729ac4 in order to merge the rest of #765.

/cc @ZasoGD

I have made a few code improvements here #994 and #993 FYI :)


Consider including Module::Build

Can we get Module::Install installed by default on both the Windows variants?
My attempts to get it installed manually  in windows failed https://github.com/pmqs/Compress-Stream-Zstd/actions/runs/4152234268/jobs/7183055894and
Strawberry seems ok https://github.com/pmqs/Compress-Stream-Zstd/actions/runs/4152234265/jobs/7183055871

I think you want cpanm --quiet Module::Build, not cpanm --quiet --installdeps Module::Build. The latter only installs dependencies, not the module itself.
(Also, I think you wrote Module::Install when you meant Module::Build.)

I think you want cpanm --quiet Module::Build, not cpanm --quiet --installdeps Module::Build. The latter only installs dependencies, not the module itself.

Thanks, that has made the action run a bit further

(Also, I think you wrote Module::Install when you meant Module::Build.)

Indeed I did, thanks!


Is it possible to make @Lenses ignore some fields?

Suppose I have the following case class (I'm using Scala 2.13):
case class Foo(
  a: Int,
  b: Int,
  ...,
  z: Int,
  noLens: Int
)

Is there any way to use @Lenses to create lenses for all fields except noLens? I tried using private val or multiple parameter lists, but both cases resulted in a compilation error. I know I can manually create all the other lenses, but that's very verbose.
Thanks

Sorry, it is not supported.


fix(enterprise): silence unactionable warning

An Enterprise installation might not have access to public GH, or their
private registry might not be 100% API compatible, so this only creates
errors that aren’t actionable.

💯


InputMask label not recognized

I want to test the InputMask in my Blazor app (Server Side). I installed the library through Nuget (version 1.0.20). I added the main.js and imask.js script references. Using the InputMask tag is not recognized on the page. I checked if it detects the namespace, but it doesn't. Am I missing some configuration? Greetings.

Hello, can you post some sample code ?
Regards,
Raphaël


Exit with non-zero code if init throws an error

If an error is thrown by the init function on startup then the error is caught and the process exits with a zero exit code. This means that CI environments will yield a passing build, when in fact the test runner has suffered a catastrophic error.
Resolve this by exiting with a non-zero code if init throws an error.

Just ran into the same issue, very happy to see a fix for it.

Thanks, very obvious but still was not there. Good catch


pip doesn't find genicam with Python 3.7

Hi! I'm trying to install both harvesters and genicam through pip for a project but when I use the command "pip install genicam" it returns:
"ERROR: Could not find a version that satisfies the requirement genicam (from versions: none)
ERROR: No matching distribution found for genicam"
If I try to install harvesters than it gives a dependecy error as expected:
"The conflict is caused by:
harvesters 1.3.4 depends on genicam<1.2"
Expected Behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem; Note that it is not necessary to put everything as a screenshot! If the source is a text just paste the text because that is much helpful for us.
Configuration

OS: Windows 10 64-bit
Python: 3.7.7

Actions You Have Taken

Tried both in my own pc's CMD and in a Visual Studio Code virtual enviroment
,

[X] I've read the Harvester FAQ page.

Thanks for your time in advance.

@SharpFGC Hi, could you show me the output from the following command?
pip list

This is just for your information, I could not reproduce the reported phenomenon so I guess there should be a reasonable solution for you. By the way, please note that neither harvesters nor genicam work on Cygwin because the GenApi reference implementation does not support Cygwin GCC. Regards, Kazunari.

Here's one more request; I would like to see the output from the following command as well:
python -c "import sys;print(sys.version)"

Firstly thanks for the quick response. Much appreciated.
pip list returns:
Package            Version
certifi            2021.10.8
charset-normalizer 2.0.12
idna               3.3
pip                22.0.4
PyQt5              5.15.6
PyQt5-Qt5          5.15.2
PyQt5-sip          12.9.1
requests           2.27.1
requests-toolbelt  0.9.1
setuptools         60.10.0
six                1.16.0
slumber            0.7.1
urllib3            1.26.9
And python -c "import sys;print(sys.version)" returns:
3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 09:44:33) [MSC v.1900 32 bit (Intel)]

Hi, thank you for the update. Are you trying to run it on a 32-bit architecture? If so, I’m afraid, we do not support any of them. I hope you have a 64-but as an option. Regards, Kazunari.

Hello again, I didn't know at the time that I downloaded a 32-bit version of P3.7, I installed a 64 one and was able to find genicam nd install harvesters.
Sorry for the trouble and thanks!


feat: filter the application list to exclude apps that users cannot access

fix: #2464

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: anyidea:x: aidenluaidenlu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Replaced by: https://github.com/casdoor/casdoor/commit/498cd02d49db6b48d58c651485f5a2e5045e316d


Fix failing test cases

Test cases are failing due to multiple reasons. Analyze them and fix them.

Fixed in PR #5


feat(CategoryTheory/Sites): definition of Mayer-Vietoris squares

This PR introduces the very basic definitions of Mayer-Vietoris squares. It shall be expanded in future PRs towards the construction of Mayer-Vietoris long exact sequences in sheaf cohomology.

[x] depends on: #14969
[x] depends on: #14971

bors merge


MINOR: Factor out common response parsing logic

This patch factors out some common parsing logic from NetworkClient.parseResponse and AbstractResponse.parseResponse. As a result of this refactor, we are now verifying the correlationId in forwarded requests. This patch also adds a test case to verify handling in this case.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

This is a follow-up from #9563. cc @chia7712 @abbccdda
While I was working on this patch, I noticed this: https://issues.apache.org/jira/browse/KAFKA-10743. In this patch, I have just removed the metric.


[2.4.3] Failed to add Registry Credentials

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):

Click Resources > Secrets > Registry Credentials.
Click Add Registry.
Scope select Available to all namespaces in this project
Configure the correct DockerHub or Custom Registry,  SAVE

Result:
Unable to save, always showing saving

Other details that may be helpful:

2.4.2 will not reproduce the problem
Scope is set to Available to a single namespace will not reproduce

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
v2.4.3
Installation option (single install/HA):
single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version): 19.03.8

(paste the output here)

I found a image pulling problem in Rancher 2.4.3, and it should cause image pull failed in workload pods initializing.
For example, the private registry is docker.test.com and the pod's image is docker.test.com/project/app:v1.
When creating pod containers, Rancher pulls image from https://docker.test.com/v2/project/app:v1, the image url is broken by add /v2/ and pod get stacks on pulling fails.
Maybe this url error is the reason for ui stacking.

I see the same thing on my end, with a newly provisioned RancherOS cluster on vSphere running K8s v1.17.5 and Rancher Server v2.4.3. Mentioned this in the Rancher Slack channels as well.
My output in Firefox dev console is this:
TypeError: this.namespace is nullcomponent.js:79
    willSave component.js:79
    save new-or-edit.js:54
    _join backburner.js:1048
    join backburner.js:759
    Ember 4
    save component.js:55
    Ember 5
    _run backburner.js:1066
    _join backburner.js:1042
    join backburner.js:759
    Ember 3
    jQuery 2

Hi,
right now, the only way i found to create the registry credential is using the api:
/v3/project/<clusterid>:<projectid>/dockerCredentials/

Does anyone have a workaround for this, other than the API strategy mentioned above? Can I restart anything to get this working again?

@stefanlasiewski
Try turning off anything that tries to access the credentials. Like, e.g., before you deploy anything, add the credentials. This worked for me 1 time. Don't know if this workaround works.

As a workaround i created the creds with kubectl as described in kubernetes
documentation (
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-by-providing-credentials-on-the-command-line
)
They'll show up in the Rancher Interface.
Hope that helps !
Le mer. 20 mai 2020 à 01:44, theAkito<EMAIL_ADDRESS>a écrit :

@stefanlasiewski https://github.com/stefanlasiewski
Try turning off anything that tries to access the credentials. Like, e.g.,
before you deploy anything, add the credentials. This worked for me 1 time.
Don't know if this workaround works.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rancher/rancher/issues/26981#issuecomment-631145831,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOHWILBVYSMFI4LBLVXXAQTRSMKVBANCNFSM4M32RKLA
.

@stefanlasiewski https://github.com/rancher/rancher/issues/27117#issuecomment-629664499

Reproduced the issue in v2.4.3

Create a registry selecting "Available to all namespaces" and save
UI is stuck in Saving state and does not complete.

Validated with master-head(8e20687a4)

Create a registry selecting "Available to all namespaces" and save.
Registry gets created as expected.

Creating registry in a single namespace also works.

@theAkito We are actually getting this error before deploying the workloads that would depend on it.
We need our users to be able to deploy some important workloads, but they are not familiar with the kubectl CLI and therefore using the native kubectl workaround does not work. In those cases we need a working GUI.
Does anyone have a workaround to get the GUI portion working again before Rancher 2.4.4?

My reproducible workaround:

Add Registry
"Available to a single namespace"
"Available to all namespaces in this project"
Add credentials
Save

For me it works, if I select "Available to a single namespace" in the very beginning, then switching back to "Available to all namespaces in this project" and proceeding as usual.

@soumyalj you mentioned it is fixed in master 15 days ago.
Which actual release will contain the fix? I see a milestone of 2.4.5 in this issue. Can this be confirmed by someone from Rancher Labs?

@Napsty i can confirm it's still present on 2.4.4 if that helps

Hello, I just recently upgraded from Rancher v2.4.3 to v2.4.4 and it is working now. I can create a secret, and tell it to apply for all namespaces. I did perform an update on my cluster after upgrading Rancher, you may need to reconcile yours as well.
-Jason

From: Frederic Leger<EMAIL_ADDRESS>Sent: Thursday, June 4, 2020 8:39 AM
To: rancher/rancher
Cc: Jason Root; Comment
Subject: Re: [rancher/rancher] [2.4.3] Failed to add Registry Credentials (#26981)
@Napstyhttps://urldefense.com/v3/__https://github.com/Napsty__;!!KwNVnqRv!UjoLPWrREZ6xW2EOdi1nSzvPNgoIDh1Ng3yswpj_t6hFfTo5vDRqsZs8wZM0Nw$ i can confirm it's still present on 2.4.4 if that helps
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/rancher/rancher/issues/26981*issuecomment-638853776__;Iw!!KwNVnqRv!UjoLPWrREZ6xW2EOdi1nSzvPNgoIDh1Ng3yswpj_t6hFfTo5vDRqsZvN9AP7LA$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AH7SIWYBVXZGYPWPWKKHNN3RU6PY5ANCNFSM4M32RKLA__;!!KwNVnqRv!UjoLPWrREZ6xW2EOdi1nSzvPNgoIDh1Ng3yswpj_t6hFfTo5vDRqsZu-HpaWaw$.

Which actual release will contain the fix? I see a milestone of 2.4.5 in this issue. Can this be confirmed by someone from Rancher Labs?

That may be the best official confirmation we can get at the moment. The Rancher devs are pretty busy.
The Github history doesn't show when the milestone was bumped from 2.4.4 to 2.4.5, which would have been helpful to know for our planning-- this caused a few headaches for us.

The release notes of 2.4.5 mention this issue as fixed.


fix(spanned): Allow internal fields to be in any order

Fixes #789

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

15 of 28 (53.57%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 68.094%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/serde_spanned/src/spanned.rs
15
28
53.57%

Totals

Change from base Build<PHONE_NUMBER>9:
-0.03%

Covered Lines:
3754

Relevant Lines:
5513

💛  - Coveralls


Feature: Drill-down filters when clicking table rows [draft]

Note this targets the v2 branch
Now if users click a row within a table card, the full data set will be filtered by that selection.
For example, if in the "Paths" card, you click a given path (e.g. "/dashboard"), the dataset will reload filering on path"=/dashboard". This means every figure – the top-level numbers, the chart, and all the table cards – will respect that filter.
You can also combine multiple filters (e.g. by referrer and device).

Still left to do:

[x] Filter by Country don't work yet (needs to filter on the underlying country code, not the label)
[x] Need to show the current filters somewhere (e.g. cancel-able pills at the top of the page)
[ ] Automated tests
[x] Polish
[x] Better types

https://github.com/user-attachments/assets/e50a3abf-0673-4f47-ac49-3d70f328f8ce

I think this is a good to go, just needs automated tests first.


Oracles: use BoundedVec for feed values

Fixes #924

Codecov Report

Merging #925 (c9faa55) into master (0482bf2) will increase coverage by 0.08%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master     #925      +/-   ##
==========================================
+ Coverage   78.24%   78.32%   +0.08%
==========================================
  Files         105      105
  Lines       10627    10669      +42
==========================================
+ Hits         8315     8357      +42
  Misses       2312     2312

Impacted Files
Coverage Δ

oracle/src/mock.rs
100.00% <ø> (ø)

oracle/src/lib.rs
78.57% <100.00%> (ø)

oracle/src/tests.rs
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Typo in Infinite Mixture Models tutorial (number of clusters formula)

I spotted this typo in the docs: https://turing.ml/dev/tutorials/6-infinitemixturemodel/
Here's the snippet:

The minus should be a plus in the equation.
I believe the (corrected) approximation is "good" only when N, alpha >> 0

If this looks alright, I'd be happy to make the changes and submit a PR.

Yes, that was a typo. Should be a plus. :)
Yes, alpha should anyways be defined to be positive.

Cool. Is this the file I need to edit?
https://github.com/TuringLang/TuringTutorials/blob/master/6_InfiniteMixtureModel.ipynb
Just noticed this is a different repo...

Yes, that's the one. The documentation page will be build based on those jupyter notebooks. It's a way to keep the core repo slick and free of clutter.

Submitted a fix here:
https://github.com/TuringLang/TuringTutorials/pull/78


TLS session ticket get out of sync between servers

When developing a new plugin for sharing STEK (Session Ticket Encryption Key) on a colo, I discovered that some of the boxes on the colo I was testing cannot be synced up. Upon further investigation, the problem exists even with manually setting a key file (https://docs.trafficserver.apache.org/admin-guide/files/records.config.en.html#proxy-config-ssl-server-ticket-key-filename), and uploading it to all the servers. This issue is also present with Apple, and @masaori335 was doing testing on their side. However, this issue disappeared over the past weekend for no apparent reason.
Below is the description of the problem, please add comments if I missed anything @bneradt @bryancall @masaori335:

When STEK is shared among servers, the normal behavior is these servers can reuse TLS sessions from each other, e.g. server X can resume sessions created on server Y, X and Y being any of the servers in that colo.
The problem we're seeing now is, even though STEK is being shared correctly among all servers in the same colo, sometimes there will be a small group of servers that cannot resume session created on others.
The group of servers that cannot resume session from other servers, can share session within the group (always the case), essentially splitting the colo into two groups of servers that can resume session within their own group, but not across.
Of the two groups formed, the larger group usually contains 75% or more servers of that colo.
It's always two groups of servers if this problem is present.
It's always the same servers in the same group on the same colo, but it can be different servers on different colos, and the servers persists after ATS restart. E.g. on colo 1, it's always the servers A, C, F, M that forms a group; while on colo 2,  it's always the servers B, F, S that forms a group.
All related OpenSSL API calls for session encrypt/decrypt return success with the same values across all servers,  HMAC_Init_ex, EVP_EncryptInit_ex, EVP_DecryptInit_ex, RAND_bytes.

I checked this again, we're still facing this issue. But no clue yet.


Don't attempt to set up Modernizr in non-browser environment

Using Material UI with JSPM on the server wasn't possible because in some places the Modernizr library was imported, causing a window is undefined error.

@blixt We plan to merge https://github.com/callemall/material-ui/pull/2007. Can you check that the server side rendering is working correctly?

@oliviertassinari I haven't been able to do extensive testing, but preliminary testing shows that with the latest master (including @Cavitt's change), jspm no longer errors out due to an import of the Modernizr module. This is the code I used to test it:
const jspm = require('jspm');
jspm.import('material-ui/lib/text-field')
  .then(TextField => console.log('Works'))
  .catch(error => console.error(error));

@blixt Good to hear. Can we close this PR then?

@oliviertassinari Go ahead, I'll keep the commit around in case I run into the issue again. I just won't be able to test this fully for a few days.
By the way, do you plan on releasing a new version on NPM with this fix included today?

I can't tell. I let @shaurya947 answer.

@blixt we just did a release last Friday so might a couple days before the next one..


'in' statement overflow warning CodeCop

Describe the bug
There is CodeCop analyzer overflow warning when using "in" statement with different Texts
Steps and to reproduce the behavior:
AL Language Version 4.0.229715

Enable CodeCop analyzer
Use the following code

I can reproduce this issue with the latest developer preview:
    local procedure MyProcedure()
    var
        varText50: Text[50];
        varText100: Text[100];
        varText: Text;
    begin
        if varText50 in [varText100, varText] then;
    end;

This issue should be fixed in our latest developer previews.


Include a sitemap for all semesters

We need include an archive page.

It occurs to me that this probably should be in the "base" repo for a course, then each semester's site should point to the same archive page.

Where should the "all semesters" content go? Probably the footer?


[Binance] Fix for wrong information for some currencies and currency pairs in meta data

As described in #3073, the meta data for certain currencies and currency pairs such as IOTX/BTC is not correctly stored and retrieved for Binance.
The root cause of this problem is in the initialization routine for Binance.
Within the remoteInit() method in BinanceExchange.java we find the following code:

for (BinancePrice price : marketDataService.tickerAllPrices()) {
  CurrencyPair pair = price.getCurrencyPair();

  for (Symbol symbol : symbols) {
    if (symbol
        .getSymbol()
        .equals(pair.base.getCurrencyCode() + pair.counter.getCurrencyCode())) {

Interestingly, this routine combines two for-loops while only one is necessary since you want to iterate just once over the currency pairs. Additionally, we see two ways of receiving the information: Once the information about the symbols is received via the designated way (exchangeInfo.getSymbols() maps to GET /api/v1/exchangeInfo) including all the details. In the second way the currency pairs are received via the price information (marketDataService.tickerAllPrices(marketDataService.tickerAllPrices() maps to GET api/v1/ticker/allPrices).
If we look at the responses from Binance we can guess already why this problem exists. The designated way gets a response that clearly shows which currencies are used in the currency pair IOTXETH, i.e. IOTX and ETH
symbol | "IOTXETH"
status | "TRADING"
baseAsset | "IOTX"
baseAssetPrecision | 8
quoteAsset | "ETH"
quotePrecision | 8
orderTypes | […]
icebergAllowed | true
isSpotTradingAllowed | true
isMarginTradingAllowed | false

while in the second way the response contains only the string “IOTXETH”, which is later not split correctly into its currencies.
symbol	"IOTXETH"
price	"0.00005001"

If we dig deeper, we find the reason for this behaviour. Getting the prices triggers the routine getCurrencyPairFromString(String currencyPairString) from the CurrencyPairDeserializer class that tries to guess the right way to split the string. While this function is really cool it cannot be expected to guess every currency pair correctly. One currency pair, where it fails, is “IOTXETH”, where it splits the string into “IOT” and “XETH”.
There are two ways to fix the problem. First, one could try to fix the CurrencyPairDeserializer for all currency pairs where the function is working incorrectly. However, this function is already really great at doing its job and I believe it will not be possible to get this function right for every current and future currency pair. Secondly, we might change the for-loop in the Binance class and dispense the price function to receive symbols altogether. This seems way better since we get the full and accurate information already with the exchangeInfo.getSymbols() so that we should not abuse the price function to do something it is not designed for. I assume that the author used the price function to only get the currency pairs that are currently traded on Binance. However, we can get this information also from the exchange symbols themselves, which have attached a status. We would filter out all symbols with the status “BREAK” since these symbols have been delisted by Binance. We would keep all symbols with other status values since trading might only be stopped for a temporary period. Thus, our fixed function looks like:
for (Symbol symbol : symbols) {
  if (!symbol.getStatus().equals("BREAK")) { // Symbols with status "BREAK" are delisted

In order to keep the correct behaviour in future implementations, we also add two test cases that previously would have failed but now show the correct behaviour:
currPair =
    currencyPairs.keySet().stream()
        .filter(cp -> "IOTX/ETH".equals(cp.toString()))
        .collect(StreamUtils.singletonCollector());
Assert.assertNotNull(currPair);

curr =
    currencies.keySet().stream()
        .filter(c -> c.equals(new Currency("IOTX")))
        .collect(StreamUtils.singletonCollector());
Assert.assertNotNull(curr);

you now get a NPE when you try to use Binance without passing any credential because of this PR ....

@walec51 I honestly believe that this PR is not the cause of this behaviour since this PR just removes one function call but does not add one. Thus, the behaviour should not have changed regarding not using any credentials. Could you verify, please, that this PR causes this behaviour rather than a different one?

I'm sorry, your right, this is the PR that introduced the bug: https://github.com/knowm/XChange/pull/3071/files


Removed and ignored composer.lock

It's not needed for libraries and general practice is to ignore it.

#43 supersedes this


Online documentation not up-to-date?

The documentation online (https://pygbif.readthedocs.io/en/latest/) refers to v0.3 as "latest", while version 0.4 is available both on PyPI and as a GitHub release.
If this documentation upload process is not fully automated, a possible improvement would be to describe it in the "contributing" doc. For my personal projects, I generally try to document that, and also to write a "release checklist" to avoid forgetting such steps (see https://pyinaturalist.readthedocs.io/en/latest/infrastructure.html for example).
Tell me if I can help!

It is automated with readthedocs. For some reason build failures started happening and I never got around to sorting it out.
Looks like for v0.4, https://github.com/sckott/pygbif/blob/v0.4.0/requirements.txt was missing requests-cache - I got the latest version on master to build by adding that pkg to requirements.txt, but I'm not sure how to get the v0.4 tag to build if the requirements.txt is missing a package. DO you know know a way?
Docs are pointing to master now - see https://pygbif.readthedocs.io/en/latest/index.html
We should add something about docs and readthedocs to Contributing file

I can now see v0.4 in the title on https://pygbif.readthedocs.io/en/latest/index.html, so I guess your changes fixed it, thanks!


Query reducer return value is not returned as prop

I haven't been able to reproduce this reliably yet (it happens with the Sidebar codebase, but not with the original Nova codebase), but I've been running into a really weird behavior. My query container has this general structure:
const CommentsPageWithData = graphql(CommentsPageQuery, {
  props({ data }) {
     console.log(data) // 1
     // ...
     return props;
  },
  options({ params }) {
    return {
      reducer: (previousResult, action, variables) => {
         // ...
         console.log(result) // 2
         return result;
      },
    };
  },
})(CommentsPage);

When I execute a mutation to insert a new item, the reducer runs properly and returns an object with n+1 items (logging out the proper value at (2)).
But when I log out the data object at (1), I get the old object before the update, with only n items. Which means that in turn that new correct value cannot be passed as prop to my component.
What's happening in between the reducer returning a new (correct) value and the props function receiving the (incorrect) result? Where is the relevant code in the react-apollo and apollo-client packages?

It looks like the problem is that currentResult.data here is an empty object: https://github.com/apollostack/react-apollo/blob/master/src/graphql.tsx#L483

Wow, I guess rubber-duck debugging really works… I was able to fix the issue by logging out this.queryObservable and noticing a network error in the logged out object. It turns out my mutation was using some old code and returning an incomplete fragment:

As far as I can tell though, this error wasn't surfaced anywhere or even available in the Redux devtools (I checked both apollo.queries and apollo.mutations).
While I'm on the topic, I think error reporting is a big pain point of the overall Apollo developer experience. It'd be great to have something like an "Error" tab in the Apollo devtools that helps surface everything that's going wrong.

One more thing, I tried setting returnPartialData to true but that didn't fix the error.


fix(gui): jump to the correct frame on OverviewBar click

This was a bug that came with the assumption that all colored boxed in the OverviewBar get the same width in pixels, which is not true. This issue becomes only clear with long diff sequences as some boxes seem much bigger than others (at most 1 pixel wider). We keep the boxes sizes, but save their offset in the row to determine which box was actually clicked.
This is needed for the cursor drag feature as otherwise we could simply give each box its own tapGesture event handler.

Wait for merge of #274


How do I get scroll data?

I have been unable to figure out how to get scroll x, y data as a replacement for the C callback routine
void scroll_callback(GLFWwindow* window, double x, double y);

How to implement?

Also, how to implement?
void cursor_position_callback(GLFWwindow* window, double x, double y)
{
    if (glfwGetInputMode(window, GLFW_CURSOR) == GLFW_CURSOR_DISABLED)

Just so you know I am aware of your issues… I am very sorry that I do not find the time to react to them. I hope this will get better soon.

No problem.
Whenever its convenient for you is fine.

This is implemented in the GLFW 3 API. You basically do:
type My_Window_Type is new Glfw.Windows.Window with null record;

overriding procedure Mouse_Scrolled (Object : not null access Window;
                         X, Y   : Input.Mouse.Scroll_Offset);

And then somewhere in your code:
My_Window.Enable (Glfw.Windows.Callbacks.Mouse_Scroll);

After that, the implementation of your Mouse_Scrolled procedure will be called on mouse scrolling.

Closing this since functionality is already there.


Enable streaming for Wikipedia corpora

Is your feature request related to a problem? Please describe.
Several of the Wikipedia corpora on the Hub involve quite large files that would be a good candidate for streaming. Currently it is not possible to stream these corpora:
from datasets import load_dataset

# Throws ValueError: Builder wikipedia is not streamable.
wiki_dataset_streamed = load_dataset("wikipedia", "20200501.en", split="train", streaming=True)

Given that these corpora are derived from Wikipedia dumps in XML format which are then processed with Apache Beam, I am not sure whether streaming is possible in principle. The goal of this issue is to discuss whether this feature even makes sense :)
Describe the solution you'd like
It would be nice to be able to stream Wikipedia corpora from the Hub with something like
from datasets import load_dataset

wiki_dataset_streamed = load_dataset("wikipedia", "20200501.en", split="train", streaming=True)

Closing as this has been addressed in https://github.com/huggingface/datasets/pull/5689.