Bluetooth: GATT Discovery: Descriptor Discovery by range Seg Fault

Describe the bug
Descriptor discovery by range ends in seg fault.
To Reproduce
Steps to reproduce the behavior:

Modify the discovery code in central_hr sample to

discover_params.uuid = NULL;
discover_params.func = discover_func;
discover_params.start_handle = 0x0001;
discover_params.end_handle = 0xffff;
discover_params.type = BT_GATT_DISCOVER_DESCRIPTOR;

Expected behavior
Discovery should work.
Impact
Showstopper.
Environment (please complete the following information):

OS: (e.g. Linux, MacOS, Windows): Kubuntu 18.04
Toolchain: Zephyr SDK 0.10.0
Commit SHA or Version used: 2692f2e616c7f0bfcd19fda8010ab0c124f38cf5

Any chance to get a backtrace: addr2line?

@paulgavrikov Which platform did you test on?

@Vudentz will try. @aescolar nrf52_bsim

@paulgavrikov @Vudentz : Then please run that simulated device in valgrind, that will give you a call trace on the segfault.

@Vudentz I wasn't able to run it on ble_sim as of now but I tested in on an nRF52840. The discovery callback is triggered one correctly but returning BT_GATT_ITER_CONTINUE keeps the callback being called with random handles. It seems like this is an infinite loop.
Example output:

[14:05:39:103] [ATTRIBUTE] handle 0x0004␍␊ <-- this is ok
[14:05:39:106] [ATTRIBUTE] handle 0x6266␍␊ <-- now we only get random handles
[14:05:39:117] [ATTRIBUTE] handle 0xa7a6␍␊
[14:05:39:117] [ATTRIBUTE] handle 0x7548␍␊
[14:05:39:117] [ATTRIBUTE] handle 0xb25b␍␊
[14:05:39:117] [ATTRIBUTE] handle 0xb2f3␍␊
[14:05:39:117] [ATTRIBUTE] handle 0xa6fa␍␊
[14:05:39:133] [ATTRIBUTE] handle 0x4bb2␍␊
[14:05:39:133] [ATTRIBUTE] handle 0x8b14␍␊
[14:05:39:133] [ATTRIBUTE] handle 0x43a4␍␊
[14:05:39:133] [ATTRIBUTE] handle 0x5f02␍␊
.....

@Vudentz actually, the discovery does finish after a while, in my case 16383 iterations. Interestingly it seems to "discover" attributes multiple times e.g.:
[12:21:29:704] [ATTRIBUTE] handle 32767␍␊
[12:21:29:704] [ATTRIBUTE] handle 1152␍␊
[12:21:29:704] [ATTRIBUTE] handle 0␍␊
[12:21:29:704] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 3␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:716] [ATTRIBUTE] handle 0␍␊
[12:21:29:728] [ATTRIBUTE] handle 0␍␊
[12:21:29:728] [ATTRIBUTE] handle 0␍␊
[12:21:29:728] [ATTRIBUTE] handle 0␍␊
[12:21:29:728] [ATTRIBUTE] handle 1␍␊
[12:21:29:728] [ATTRIBUTE] handle 0␍␊

Manage to reproduce this one, seems we are getting past the PDU which causes the problem, though I got a strange response from Android:
< ACL Data TX: Handle 3585 flags 0x00 dlen 9                         #1 [hci0] 13:23:17.776067
ATT: Find Information Request (0x04) len 4
Handle range: 0x0001-0xffff

HCI Event: Number of Completed Packets (0x13) plen 5               #2 [hci0] 13:23:17.992344
Num handles: 1
Handle: 3585
Count: 1
ACL Data RX: Handle 3585 flags 0x02 dlen 22                        #3 [hci0] 13:23:18.040524
ATT: Find Information Response (0x05) len 17
Format: UUID-16 (0x01)
Handle: 0x0001
UUID: Primary Service (0x2800)
Handle: 0x0014
UUID: Primary Service (0x2800)
Handle: 0x0028
UUID: Primary Service (0x2800)
Handle: 0x0033
UUID: Primary Service (0x2800)

It seems to be responding with only the Primary service which is not what the spec says, or actually don't say so all the attributes types must be returned.

Seems that Android has a bug:
< ACL Data TX: Handle 3585 flags 0x00 dlen 9                     #13970 [hci0] 11:17:12.450682
      ATT: Find Information Request (0x04) len 4
        Handle range: 0x0001-0xffff
> HCI Event: Number of Completed Packets (0x13) plen 5           #13971 [hci0] 11:17:12.633040
        Num handles: 1
        Handle: 3585
        Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 9                      #5705 [hci1] 11:17:12.636962
      ATT: Find Information Request (0x04) len 4
        Handle range: 0x0001-0xffff
< ACL Data TX: Handle 3585 flags 0x00 dlen 66                     #5706 [hci1] 11:17:12.654844
      ATT: Find Information Response (0x05) len 61
        Format: UUID-16 (0x01)
        Handle: 0x0001
        UUID: Primary Service (0x2800)
        Handle: 0x0002
        UUID: Characteristic (0x2803)
        Handle: 0x0003
        UUID: Device Name (0x2a00)
        Handle: 0x0004
        UUID: Characteristic (0x2803)
        Handle: 0x0005
        UUID: Appearance (0x2a01)
        Handle: 0x0006
        UUID: Primary Service (0x2800)
        Handle: 0x0007
        UUID: Characteristic (0x2803)
        Handle: 0x0008
        UUID: Service Changed (0x2a05)
        Handle: 0x0009
        UUID: Client Characteristic Configuration (0x2902)
        Handle: 0x000a
        UUID: Characteristic (0x2803)
        Handle: 0x000b
        UUID: Client Supported Features (0x2b29)
        Handle: 0x000c
        UUID: Characteristic (0x2803)
        Handle: 0x000d
        UUID: Database Hash (0x2b2a)
        Handle: 0x000e
        UUID: Characteristic (0x2803)
        Handle: 0x000f
        UUID: EATT Supported (0x2b2b)
> ACL Data RX: Handle 3585 flags 0x02 dlen 27                    #13972 [hci0] 11:17:12.681955
> ACL Data RX: Handle 3585 flags 0x01 dlen 27                    #13973 [hci0] 11:17:12.682374
> ACL Data RX: Handle 3585 flags 0x01 dlen 12                    #13974 [hci0] 11:17:12.682902
      ATT: Find Information Response (0x05) len 61
        Format: UUID-16 (0x01)
        Handle: 0x0001
        UUID: Primary Service (0x2800)
        Handle: 0x0002
        UUID: Characteristic (0x2803)
        Handle: 0x0003
        UUID: Device Name (0x2a00)
        Handle: 0x0004
        UUID: Characteristic (0x2803)
        Handle: 0x0005
        UUID: Appearance (0x2a01)
        Handle: 0x0006
        UUID: Primary Service (0x2800)
        Handle: 0x0007
        UUID: Characteristic (0x2803)
        Handle: 0x0008
        UUID: Service Changed (0x2a05)
        Handle: 0x0009
        UUID: Client Characteristic Configuration (0x2902)
        Handle: 0x000a
        UUID: Characteristic (0x2803)
        Handle: 0x000b
        UUID: Client Supported Features (0x2b29)
        Handle: 0x000c
        UUID: Characteristic (0x2803)
        Handle: 0x000d
        UUID: Database Hash (0x2b2a)
        Handle: 0x000e
        UUID: Characteristic (0x2803)
        Handle: 0x000f
        UUID: EATT Supported (0x2b2b)

Have to reopen this, works on nrf52840_pca10056 but still issues a seg fault on nrf52_bsim

Valgrind:
==94554== Thread 2:
==94554== Invalid read of size 1
==94554==    at 0x13D090: bt_uuid_cmp (uuid.c:67)
==94554==    by 0x15798F: bt_gatt_discover (gatt.c:2599)
==94554==    by 0x11F2FD: startGattDiscovery (TDMACCTRL_GATTControl.c:386)
==94554==    by 0x11F140: TDMACCTRL_GATTCmdProcessing (TDMACCTRL_GATTControl.c:287)
==94554==    by 0x11E2DC: ctrlCmdProcessing (TDMACCTRL_CtrlMessageProcessing.c:96)
==94554==    by 0x1232EE: processCommands (RFCP_CtrlInterface.c:193)
==94554==    by 0x122D70: NTCP_processReceivedChannelPacket (NTCP_channelAbstraction.c:185)
==94554==    by 0x122401: slaveThread (CSCTRL_Slave.c:135)
==94554==    by 0x124CA9: z_thread_entry (thread_entry.c:29)
==94554==    by 0x12AD29: posix_thread_starter (posix_core.c:301)
==94554==    by 0x497C3BC: start_thread (pthread_create.c:463)
==94554==    by 0x4A8DE15: clone (clone.S:108)
==94554==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==94554==
==94554==
==94554== Process terminating with default action of signal 11 (SIGSEGV)
==94554==  Access not within mapped region at address 0x0
==94554==    at 0x13D090: bt_uuid_cmp (uuid.c:67)
==94554==    by 0x15798F: bt_gatt_discover (gatt.c:2599)
==94554==    by 0x11F2FD: startGattDiscovery (TDMACCTRL_GATTControl.c:386)
==94554==    by 0x11F140: TDMACCTRL_GATTCmdProcessing (TDMACCTRL_GATTControl.c:287)
==94554==    by 0x11E2DC: ctrlCmdProcessing (TDMACCTRL_CtrlMessageProcessing.c:96)
==94554==    by 0x1232EE: processCommands (RFCP_CtrlInterface.c:193)
==94554==    by 0x122D70: NTCP_processReceivedChannelPacket (NTCP_channelAbstraction.c:185)
==94554==    by 0x122401: slaveThread (CSCTRL_Slave.c:135)
==94554==    by 0x124CA9: z_thread_entry (thread_entry.c:29)
==94554==    by 0x12AD29: posix_thread_starter (posix_core.c:301)
==94554==    by 0x497C3BC: start_thread (pthread_create.c:463)
==94554==    by 0x4A8DE15: clone (clone.S:108)
==94554==  If you believe this happened as a result of a stack
==94554==  overflow in your program's main thread (unlikely but
==94554==  possible), you can try to increase the size of the
==94554==  main thread stack using the --main-stacksize= flag.
==94554==  The main thread stack size used in this run was 8388608.
==94554==
==94554== HEAP SUMMARY:
==94554==     in use at exit: 2,849 bytes in 15 blocks
==94554==   total heap usage: 101 allocs, 86 frees, 27,238 bytes allocated
==94554==
==94554== LEAK SUMMARY:
==94554==    definitely lost: 0 bytes in 0 blocks
==94554==    indirectly lost: 0 bytes in 0 blocks
==94554==      possibly lost: 1,224 bytes in 9 blocks
==94554==    still reachable: 1,625 bytes in 6 blocks
==94554==         suppressed: 0 bytes in 0 blocks
==94554== Rerun with --leak-check=full to see details of leaked memory
==94554==
==94554== For counts of detected and suppressed errors, rerun with: -v
==94554== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)


Analysis page: Issue with title

Where:
Second graph on:
[0] https://www.coronawarn.app/de/analysis/
[1] https://www.coronawarn.app/en/analysis/
Issue
Short moment one sees new title, then the new one.

@dsarkar
Good morning!
Could you explain a bit more about this issue as I don't understand it? I couldn't see any problem when I opened either of the pages.
Is it perhaps happening only with a particular browser?

@MikeMcC399
Good morning,
the title of the quadrant "Registrierte Tests" (DE) or "Registered test" (EN) has been changed to "Übermittelte und registrierte Testergebnisse" (DE) or "Transmitted and registered test results" (EN) but the old title is still shown.
If you hit F5 on the analysis page (DE and EN) the new title is shown for a short moment but then changes on an instant to the old one.
Tested with Mozilla Firefox 91.3.0 and Microsoft Edge 96.0.1054.43.
Best regards
Tobias

@HelTob
Now I see it. Thank you for taking the trouble to explain.

FYI: https://github.com/corona-warn-app/cwa-website/pull/2172

@brifemu Thanks.


[notebook prototype] Summarize MD&A section for a given ticker

The task is to use sec-parser
Here is an example
to summarize the MD&A section with gpt-4 or gpt-3.5-turbo.
Input:

Ticker (the notebook will automatically download the latest 10-Q)
Model (3.5 or 4)

Output:

Text summary

Bonus objectives:

Include tables along with the text

One idea: They can be converted to a JSON format before sending it to be summarized along the text. GPT could be a quick solution to this. Be mindful that units (e.g. "in millions") can be outside the table, although in this particular case it's probably not that important.

Include a comparison of using raw HTML and/or raw text of the 10-Q document.

How many tokens are saved when using sec-parser
Show the summary output side by side. One is the output when the input is given from the sec-parser and another is the output from raw HTML and/or raw text.

Notes:

Don't put OpenAI API KEY in the notebook, use .env instead.
Be mindful of LLM context length limits.

Roadmap
At the start we will have the sec-ai implementations in jupyter notebooks, later we will build a streamlit UI to have them all in one place, and after that, we plan to implement a proper UI for the sec-ai demos.

Closing as this task is mostly implemented in https://parser.alphanome.app/?p=view_parsed&view_parsed=export_as&q=AAPL and any additional work will probably be too trivial


Hiero: Review video file adding one frame to the end

 Freshdesk Ticket ID: 322
 Freshdesk Ticket Agent: Jakub Jezek
 Freshdesk Ticket Agent Email<EMAIL_ADDRESS> Ticket Priority: Urgent
 Freshdesk Ticket Description: Ftrack is showing one frame at the end of the preview and it is destructing the attention. All frame-ranges on assets are set correctly.

Agent Jakub Jezek linked Freshdesk ticket 322 for this issue.


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit 3b742c2:
:clock10: Pending: waiting for processors (25 builds ahead of you)
:warning: Docs Build is busy, currently there are 25 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 3b742c2:
:clock10: Full build: the average full build time is 5 min(s) 6 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 3b742c2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

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


Compilation errors AF_INET undeclared (lws_peer.cpp, socket_helpers.h)

Godot version:
7d6f210ccb5de9ef414f94ad42f9f3dea14c0493 but probably fails since<PHONE_NUMBER>330dc6e7758953e3378187b5e3f226 or so.
OS/device including version:
FreeBSD 11.1-RELEASE-p4
Issue description:
Compilation fails:
[ 55%] Compiling ==> drivers/unix/os_unix.cpp
In file included from modules/websocket/lws_peer.cpp:40:
./drivers/unix/socket_helpers.h:58:24: error: use of undeclared identifier
      'AF_INET6'
                addr6->sin6_family = AF_INET6;
                                     ^
./drivers/unix/socket_helpers.h:69:23: error: use of undeclared identifier
      'AF_INET'
                addr4->sin_family = AF_INET;
                                    ^
./drivers/unix/socket_helpers.h:81:23: error: use of undeclared identifier
      'AF_INET'
                addr4->sin_family = AF_INET;

[...]

./drivers/unix/socket_helpers.h:140:34: error: use of undeclared identifier
      'AF_INET6'
        } else if (p_addr->ss_family == AF_INET6) {
                                        ^
modules/websocket/lws_peer.cpp:197:12: error: use of undeclared identifier
      'getpeername'
        int ret = getpeername(fd, (struct sockaddr *)&addr, &len);
                  ^
modules/websocket/lws_peer.cpp:216:12: error: use of undeclared identifier
      'getpeername'
        int ret = getpeername(fd, (struct sockaddr *)&addr, &len);
                  ^
13 errors generated.
scons: *** [modules/websocket/lws_peer.x11.tools.64.llvm.o] Error 1
scons: building terminated because of errors.

All symbols are defined in <sys/socket.h>, but nor modules/websocket/lws_peer.cpp nor drivers/unix/socket_helpers.h include <sys/socket.h>.
For example, adding #include <sys/socket.h> to socket_helpers.h:36solves the problem.
Steps to reproduce:
$ time scons -c platform=x11 use_llvm=yes -j 4
$ time scons platform=x11 use_llvm=yes -j 4

CC @Faless


Redis

Not quite sure why this conversation was locked but its particularly important.
Essentially this lib doesn't work on multiple instances of the same app with a shared Redis cache.  Not really sure I see the purpose of Redis is that's that case.  This is a huge huge issue IMO and one we should discuss.
_Originally posted by @VahidN in https://github.com/VahidN/EFSecondLevelCache.Core/issues/44

I have no plan about. Doesn't work for you, Don't use it


Fixed scraper for AG

AG has published a new page which lists all new information and is easier to parse: https://www.ag.ch/de/themen_1/coronavirus_2/alle_ereignisse/alle_ereignisse_1.jsp
Running the cron every 10 minutes after 15:00 (14:00 in UTC).

Looks nice. Could you merge, the recent changes around "curl" replaced by something like this:
DIR="$(cd "$(dirname "$0")" && pwd)"  # " # To make editor happy

echo AG
d=$("${DIR}/download.sh" ... )

Done! 👍

Perfect, thanks @fabian !


Add styling to the app

In this branch

I have improved the look and feel of the application by adding the styles of my choice.
I have used both CSS and Bootstrap 5

Hello @tugsem  :smiley:
Am grateful for the review, I just to point out the API response. It takes a while then updates the keyed data to the list
Below is the record you inputted.

index 2068


Navbar links require double click on landscape touch devices

Currently when in the desktop layout (i.e. not the dropdown menu) on touch devices, links have to be touched twice to navigate.
The <Nav> component has the following code to intercept touch events and open the responsive menu.
function intercept_touchstart(event) {
  if (!open) {
    event.preventDefault();
    event.stopPropagation();
    open = true;
  }
}

The problem is that this function runs on both mobile and desktop layouts. So for touch devices showing the desktop layout, the first touch toggles the open variable (which has no visible effect), and the second touch is passed through to the link which then navigates.

closing per https://github.com/sveltejs/sites/pull/40#issuecomment-996381071


EventEmitter Memory Leak

Description
(node:93636) MaxListenersExceededWarning: Possible EventEmitter memory leak detected.
11 disconnect listeners added to [Socket]. Use emitter.setMaxListeners() to increase limit

Epic/Story
No response
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

As discussed, since we have a map of components in ui-base, we should be able to subscribe to events once in the ui-node, then dish out any incoming events to widgets by the mappings in node.ui.widgets - meaning we dont have a subscription for every single node.

Just assigning you Steve as you looked into this recently, just trying to get the backlog in order a litte.


Itinerary reformatting

Removed estimated cost and split location into city and country on itinerary creation page.

@allymreid @napierce @AbdulTur @jordyob03 @MitchRoberts Every Itinerary is linked to a Post. Therefore, we need to create a Post as well whenever we're creating an Itinerary.
The only crucial piece of data that we are missing to create the Post is the Username.
Therefore, I believe that the CreateItinRequest struct being passed from the frontend to the backend must contain the username, so that we can use that data to create a Post.
Thoughts?

@allymreid @napierce @AbdulTur @jordyob03 @MitchRoberts Every Itinerary is linked to a Post. Therefore, we need to create a Post as well whenever we're creating an Itinerary.
The only crucial piece of data that we are missing to create the Post is the Username.
Therefore, I believe that the CreateItinRequest struct being passed from the frontend to the backend must contain the username, so that we can use that data to create a Post.
Thoughts?

Thats already being sent

Thats already being sent

Oh my bad Boss. Thanks for letting me know


Flat Theme Added

Flat theme for Select2 #3957

+1, if it looks like this: http://codepen.io/techhysahil/pen/qbrqWG

Is anybody active here to merge this one.

This would probably be better broken off into a separate package, similar to the Bootstrap theme, which we can link to in the documentation.

That is nice suggestion. i will let you know once it's done.

Hey @kevin-brown, i have added a new Repo https://github.com/techhysahil/select2-Flat_Theme/tree/master. Now you add it in documentation i suppose,


[Feature] Added "view" column and filter

Simplified PR https://github.com/Laravel-Backpack/CRUD/pull/1269
This allows Backpack package developers to use columns and filters from their own packages, instead of having to publish them. Similar to what's already possible with fields.

Changed parameter to view instead of path, for consistency - that's what the view field used.
Added to documentation.


[$500] Android - Chat - Entering @, sometimes a small empty box is shown for a second

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch app
Tap on a report
Enter @ and close the suggestion list by tapping outside
Repeat step 3 few times

Expected Result:
When user enters @, a small empty box must not be displayed for a second also and only user suggestions list must be displayed
Actual Result:
When user enters @, sometimes a small empty box displays for a second and then only user suggestions list are displayed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.74-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/9a71eb59-9e9b-454f-aee0-d85d7344b45c

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e5adf23c563f8197
Upwork Job ID:<PHONE_NUMBER>094452224
Last Price Increase: 2023-09-29

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat - Entering @, sometimes a small empty box is shown for a second
What is the root cause of that problem?
https://github.com/Expensify/App/blob/3e9fdf6f70bdfd9366ffa6bbedfe80d66f683d89/src/components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js#L92
autoCompleteSuggestionsContainer has paddingVertical: 8
And animatedStyles is return value after 100ms and also height of this value is 8*2 + 2 at first time because itemHeight is 0.
So at first time, we see height: 18 empty component.
What changes do you think we should make in order to solve the problem?
First we need to hide component from autoCompleteSuggestionsContainer. we can add display: 'none'
Second we need to add display: itemsHeight > 0  ?'flex' : 'none' as return value animatedStyles(getAutoCompleteSuggestionContainerStyle function)
What alternative solutions did you explore? (Optional)

I'm sorry I'm struggling to reproduce this or see the actual issue in the video. Seems like a polish suggestion so going to close.


⚠ Bofrost.at has degraded performance

In b8242e6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1515 ms

Resolved: Bofrost.at performance has improved in 1900005.


add default col property to Cell

This is a small but usefull change.
This solves 2 problems:
When people forget to specify col property in Cell there will be no error and application will be fine.
When people want full width cell instead of writing
<Cell col={12}> lorem ipsum </Cell>
they can just drop
<Cell> lorem ipsum </Cell>
and code will be more readable then ever.

I have no idea why my previous commits are being added to this PR. But seems like only one file is being changed which is exactly what i need.

Thanks @Undeadlol1, make sure you're up to date with master ;)

[Current coverage][cc-pull] is 99.47%

Merging [#342][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master       #342   diff @@
==========================================
  Files           105        105
  Lines          2096       2097     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2085       2086     +1
  Misses           11         11
  Partials          0          0

Powered by Codecov. Last updated by [542310a...ed9c532][cc-compare]
[cc-base-branch]: https://codecov.io/gh/tleunen/react-mdl/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/tleunen/react-mdl/compare/542310afe210a2c25e12098d28870365248e49b0...ed9c532126820a75fdbf4b6f0103fd76ca5e1b11
[cc-pull]: https://codecov.io/gh/tleunen/react-mdl/pull/342?src=pr

The default value is actually 4 (when the css class is not set). Should we use the same default or set it as 12 (or 4 or 8 depending on the platform)?

@tleunen how come is it 4?
col={12} === .mdl-cell--12-col ===  { width: calc(100% - 16px) }
This basically applies full width on every media screen size. I checked it, there is nothing wrong.

In their doc, here's what they say:
mdl-cell--N-col          Sets the column size for the cell to N          N is 1-12 inclusive, defaults to 4; optional on "inner" div elements

https://getmdl.io/components/index.html#layout-section/grid

They probably ment it defaults to 4 on mobile (and to 8 on tablet)
Then again, i tested this change and it works fine, so there must be a issue with documentation, not with the code.

Gotcha. Could you squash the commits, make sure you're updated with the latest master and I'll merge ;)

@tleunen Sorry for asking, but how do i squash commits? Any advices on how to understand hint better? Maybe you are using some GUI git client i don't know about?

Git just seems a little frustrating to me...

Mo worries, I can do it if you have issues with it.
Squashing is done by doing an interactive git rebase git rebase -i (See https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages)

I just committed manually the PR :) See f4e0a47fb964ade189fe002eec9c02bb970a494c
Thanks for your contribution @Undeadlol1

@Undeadlol1 I will actually revert the change, because the default value is 4, not 12. See this: https://github.com/tleunen/react-mdl/blob/master/extra/material-grid.css#L790
Ok the default depends on the viewport size, but still, it's not 12. I will remove the requirement of the prop, but I will not set any default.

@tleunen you are confused.
With this commit i am trying to introduce logical behaviour to Cell component and improve readability of code.
There is simply no point in making this
<Cell></Cell> ===

instead of this
<Cell></Cell> ===

First option gives me 33% of page width, second one gives me 100%.
It's simply illogical.  What kind of random number is this? I don't even use 1/3 width components often, but i use full width all the time.

I agree, it might be weird, but for some reasons, that's the default value the MDL team came up to.
I would suggest you create a ticket under the MDL project to potentially change the default width to 100% (equal to col=12).
There's no reason why we would change the default behavior of a cell in react-mdl compared to mdl. It might confuse the users if we don't use the same defaults.

@tleunen I can see your point.
But i don't think anybody would be confused, because 99% of the time people read component's property-values-defaults table.
Also, i do not think they will change it, because seems like it's a workaround to make cell render properly on mobile devices. But i will try to add a PR/ create a issue.

Please create a ticket upstream, just so we can see their thoughts on it.
Anyway, this would be a breaking change so we can't really change this now

I am not a smart man. What does "create ticket upstream" mean?
My intention were to make an issue at mdl with question about default width and link to this discussion. Afterwards i were planning to post link with mdl's answears here

Yes, it's a good idea to do that :) https://github.com/google/material-design-lite/issues


unknown field "NameLocalizations"

Hi,
When I try run your example from: /examples/slash_commands/main.go and got errors:
./main.go:52:4: unknown field 'NameLocalizations' in struct literal of type discordgo.ApplicationCommand
./main.go:55:4: unknown field 'DescriptionLocalizations' in struct literal of type discordgo.ApplicationCommand
./main.go:62:6: unknown field 'NameLocalizations' in struct literal of type discordgo.ApplicationCommandOption
./main.go:65:6: unknown field 'DescriptionLocalizations' in struct literal of type discordgo.ApplicationCommandOption
./main.go:72:8: unknown field 'NameLocalizations' in struct literal of type discordgo.ApplicationCommandOptionChoice
./main.go:79:8: unknown field 'NameLocalizations' in struct literal of type discordgo.ApplicationCommandOptionChoice

Looks like in latest release 0.24.0 these field are not included:
type ApplicationCommand struct {
    ID                string                 `json:"id,omitempty"`
    ApplicationID     string                 `json:"application_id,omitempty"`
    Version           string                 `json:"version,omitempty"`
    Type              ApplicationCommandType `json:"type,omitempty"`
    Name              string                 `json:"name"`
    DefaultPermission *bool                  `json:"default_permission,omitempty"`

    Description string                      `json:"description,omitempty"`
    Options     []*ApplicationCommandOption `json:"options"`
}

Small update...
In my working dir<EMAIL_ADDRESS>is "old" version, in new one just cloned from github (also 0.24.0) everything is ok... strange.
P.S. I have MacOS 12.3.1 on M1 Max (Arm64)

To use localization fields you gotta use @master version: go get -u github.com/bwmarrin/discordgo@master

To use localization fields you need use @master version: go get -u github.com/bwmarrin/discordgo@master

I know, but... released version (installed locally by go install ....@latest) isn't from master branch?

To use localization fields you need use @master version: go get -u github.com/bwmarrin/discordgo@master

I know, but... released version (installed locally by go install ....@latest) isn't from master branch?

No, latest refers to latest tagged version (which is v0.24.0). You need to specifically install branch-version

Ok, got it. Thanks for answer.


README update

Readme still uses --sha-file in usage.
update_dependencies.sh script as well

Maybe update the documentation on how to use the tool with no sha file...

can you try to take a look at this portion of the README:
https://github.com/bazeltools/bazel-deps#alternate-outputs-external-repo
it describes how to use -disable-3rdparty-in-repo
that said it still uses the -s or --sha-file option.
Reviewing now, it seems you would only not use the --sha-file option for truly custom setups where instead you get a json file with the full resolution and then you write custom code in your repo. That is actually what we are doing at my work now because what often happens with a monorepo is that you have to solve some special snowflake problems that others don't have. By just consuming the json lock file you can do that yourself.

I added this note in the readme explaining something about --resolved-output.
https://github.com/bazeltools/bazel-deps#customized-integration

Thanks for the explanation. 👍
Appreciate.


[Languages] Grid Search in Python

Topic Suggestion
Proposed title of article
[Languages] Grid Search in Python
Proposed article introduction
The Grid Search Method considers a number of hyperparameter combinations and chooses the one that produces the lowest error score. This strategy is particularly beneficial when only a few hyperparameters need to be optimized. When the Machine Learning model becomes more complicated, however, alternative weighted-random search approaches exceed it. A hyperparameter is a value for a parameter that is used to influence the learning process.
In this article, we'll go through how to use Grid Search to tune hyperparameters. We'll also study how Grid Search works and how to use it to improve the performance of Machine Learning methods .
Key takeaways

Understanding the grid search
Installing the required libraries
Training the Model without Grid Search
Optimizing Hyper-parameters using Grid Search

Article quality
How is your article unique? Tell us what makes your approach different from similar articles that have published on the same topic?
Is yours more in-depth? Does it cover additional topics? Do you provide handy tips or anecdotal advice?
References
N/A

Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.


Use bib, reduce duplicate docs

This PR uses the bibliography and reduces some duplicate docs

bors r+

bors r-

bors r+


Make Docker image and run java tests with JUnit from DAT100 course

This will need adding assignment.yml file to the various folder with tests.
Set up Docker image with openjdk and pull in junit using maven or something similar.

I have two suggestions when it comes to the java folder structure
JAVA folder structure sugestion 1
assignments
	oving1
		src
			main
				oving1 (package)
	oving2
		src
			main
				oving2 (package)
	oving3
		src
			main
				oving3 (package)
tests
	oving1
		src
			test
				testing (package)
	oving2
		src
			test
				testing (package)
	oving3
		src
			test
				testing (package)

Merged together
merged
	oving1
		src
			main
				oving1 (package)
			test
				testing (package)
	oving2
		src
			main
				oving2 (package)
			test
				testing (package)
	oving3
		src
			main
				oving3 (package)
			test
				testing (package)

and
JAVA folder structure sugestion 2
assignments
	oving1
		src
			oving1 (package)
	oving2
		src
			oving2 (package)
	oving3
		src
			oving3 (package)
tests
	oving1
		test
			testing (package)
	oving2
		test
			testing (package)
	oving3
		test
			testing (package)

Merged together
merged
	oving1
		src
			oving1 (package)
		test
			testing (package)
	oving2
		src
			oving2 (package)
		test
			testing (package)
	oving3
		src
			oving3 (package)
		test
			testing (package)

I don't think the merge operation will really be any different for either folder structure, but for the DAT100 case, I propose that we adopt Maven's Standard Directory Layout:
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

Hmmm. I see that Maven is using even another layer of emptiness... src/main/java... Let me think a little more on this, and I'll write up a spec document.

I was interrupted. Trouble is that I'm not too much into the Java world these days. We should seek expertise in the Java world. How about something like this:
When merged:
Alternative 1: (my preference)
src/main/java/oving1
src/main/java/oving2
src/test/java/oving1
src/test/java/oving2

Alternative 2:
src/main/java/assignments/oving1
src/main/java/assignments/oving2
src/test/java/assignments/oving1
src/test/java/assignments/oving2

**Alternative 3: (not Maven compatible) **
src/assignments/java//oving1
src/assignments/java/assignments/oving2
src/tests/java/oving1
src/tests/java/oving2

Normally these folders would be organized under the same repo titled e.g. myapp or something. We could perhaps name them as assignments and tests and when merging them, we simple place everything into
assignments/src/main/java/oving1
assignments/src/main/java/oving2
assignments/src/test/java/oving1
assignments/src/test/java/oving2

The only thing is that we need to take care to make it flexible enough so as to not prevent other solutions in the future.  That is, we need to make assignments and tests etc configurable for each course (in some advanced settings).

En første reaksjon:
Hvor mye av dette må studentene ta hensyn til i sine innleveringer? Dette er førsteårsstudenter som lærer seg ganske grunnleggende ting i programmering, så jeg er skeptisk til at de skal være nødt til å lage kompliserte mappestrukturer i tillegg. Jeg kan fint tilpasse løsningsforslag og unit-tester til et slikt rammeverk, men studentene bør ha noe enkelt å forholde seg til. Det jeg har lært dem tidligere år er at de skal legge svaret sitt inn i en pakke i de tidlige øvingene. Å bruke flere pakker har jeg aldri krevd av dem og bare brukt i løsningsforslagene på de seinere øvingene.

I'm not worried about exposing this basic folder structure to the students.
This will be seamless for the students. They only need to clone the assignments repository from github in order to get the folder structure into Eclipse or what ever tool they use. In the version of Autograder we are building now, the students need to commit and push their code to github in order for Autograder to run the tests. The students won't necessarily see the tests at all, except the results.
A teacher may of course decide to post a set of tests that the students can access too, then that is done as part of the assignments repo. This shouldn't pose any issues, except that they won't be used to compute a score on the assignments.

I was asked to comment on this: I think Hein's first suggestion would be the best solution here (if you intend to use maven as the build tool):
src/main/java/oving1 src/main/java/oving2 src/test/java/oving1 src/test/java/oving2
I don't think that exposing the folder structure to the students should be a problem. Alternatively, you could use Gradle, which seems to have overtaken maven as the most popular build tool for Java in recent years.

Have already working setup with Gradle in a container, where the folder structure is configurable. The only limitation it seams is that you have to specify a root folder, and java packages have to be inside that root folder.
sorucedir = "src" -> src/oving1/main.java is possible
but sourcedir = "src/oving1" src/oving1/main.java is not
and my suggestion for
soruceDir  = "src"
and testDir = "test"
is only to prevent to many folder

Thanks @paale and @nicro950. I think gradle looks promising...

I have created a shell script that automatically clones the repositories, merges them, and runs all the tests it can find, where should I commit that and the build.gradle file ?

I'm not sure, but I'm leaning towards creating a misc/ folder for things like that for now at least. We can move it if we find a more suitable place later. Otherwise I'm sure @s111 has an opinion

So if I understand correctly:

The "solutions" repository should have a single folder "src".
The src repository should have one folder for each exercise. This corresponds in Eclipse to all the exercises being in the same Java project rather than being separate projects. Each exercise goes from being a project to being a package within the same project.
The exercises may have subfolders / subpackages but these must be specified by me.

What is the best option if I want to keep each exercise as its own Java project? The folder structure that I and Nicolas created yesterday was as follows:
source code, exercise 3: /src/oving3/
tests, exercise 3: /test/tester/
Should the solutions and tests for each exercise be its own repository? So that for instance there is one repository "exercise3_tests", one repository "exercise3_solution" and similar for the other nine exercises?

I guess this could be committed to a /misc folder for now, and we'll see where it ends up.

@etoss  to keep each exercise in a separate repository would probably be too much work for everybody, so I do not think that would be a good solution. The folder structure that I would think would be easiest for the students in DAT100 would be
assignments (repository)
    oving1 (Java project)
        src (root package folder)
            oving1 (java package)
                file.java (Student code)
    oving2 (Java project)
        src (root package folder)
            oving2 (java package)
                file.java (Student code)

and for the test repository
tests (repository)
    oving1 (Java project)
        test (root package folder)
            tester (java package)
                tests.java (test code)
        assignment.yml
    oving2 (Java project)
        test (root package folder)
            tester (java package)
                tests.java (test code)
        assignment.yml

I have managed to build this structure with gradle in a container, so I know it works, and it has fewer folder than the other solutions with having src/main/java/{package}/{files.java} and src/test/java/{package}/{files.java} or  src/main/{package}/{files.java} and  src/test/{package}/{files.java}`. The students would never see the test folder anyway, so they would probably raise a question why there are so many folders, since this is the first year students, with usually little to none experience in coding.

Is the issue is that Eclipse and friends wants to have a Java project per repository and not multiple projects in one repo?? I know that GitHub Classroom wants to create one repo per assignment. But I think that is a bad idea, because when you have X students, each with their own repo for each assignment, you get X * Y repositories on GitHub. I think it is better to keep things in one repo per student, then we don't need more than X + some constant number of repos on GitHub.

@nicro950 Just had a discussion with @etoss here and I think the easiest approach is to use one repo with a src folder containing a java package for each assignment. This seems to match well the set up in Eclipse. Erlend can create runners for the different assignments that can be checked into github so that the students see the same. Hence I propose this structure:
solutions (repository and Java Project)
  src/oving1 (package)
  src/oving2 (package)
  ...
  test/oving1 (package)
  test/oving2 (package)
  ...

The src folder can then be copied to assignments repo/project and modified removing any code the students are not supposed to see. The test folder can be extracted into the tests repo.
But maybe we can create project templates from Autograder in the future that is customizable.

I think it would make problem to assignments that actually require an entire project to itself. I don't know how easy it would be to use Javafx with the proposed setup from @meling, since all the assignments would just be a single project.

Ok, lets do @nicro950's solution with multiple projects per repo.

Here is a proof of concept that it should work in eclipse without problem

OK. I am testing using GitHub from Eclipse now on a test repository.
Can you meet me tomorrow some time after 10.30 so that we can discuss how the students are going to use the system? What do the students need to do to use the system and how does it look to them? How do I need to structure the repositories?

We can meet tomorrow after 10:30 and for the structure, you can find it at: https://github.com/autograde/aguis/tree/master/misc/javabuild


Refactor file_downloader to avoid workaround

@jodizzle Whoops.  I guess I was a little hasty with submitting the PR.  How does it look now?


Update notification banner for screen reader experience

Summary

What was changed:

This PR is being used for testing and preview

Why it was changed:
Testing

This change was tested using:

[ ] WDIO
[ ] Jest
[ ] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[ ] UX review
[ ] Accessibility review
[ ] Functional review

Additional Details

This PR resolves:
UXPLATFORM-XXXX

Thank you for contributing to Terra.
@cerner/terra

@eawww Test comment


python37Packages.flufl_i18n: 2.0.2 -> 3.1.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python37Packages.flufl_i18n is: ""
meta.homepage for python37Packages.flufl_i18n is: ""
meta.changelog for python37Packages.flufl_i18n is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 3.1.3 with grep in /nix/store/ygdsgvbb61mnzz61r02cxs8dkqqpaz45-python3.7-flufl.i18n-3.1.3

directory tree listing: https://gist.github.com/26464ac69aac461f413ab863d9244a18

du listing: https://gist.github.com/814280c4056e2acd8b276ff65747601d

Rebuild report (if merged into master) (click to expand)

40 total rebuild path(s)

10 package rebuild(s)

10 x86_64-linux rebuild(s)
10 i686-linux rebuild(s)
10 x86_64-darwin rebuild(s)
10 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
mailman
python37Packages.flufl_i18n
python37Packages.mailman
python37Packages.mailman-hyperkitty
python38Packages.flufl_i18n
python38Packages.mailman
python38Packages.mailman-hyperkitty
python39Packages.flufl_i18n
python39Packages.mailman
python39Packages.mailman-hyperkitty

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ygdsgvbb61mnzz61r02cxs8dkqqpaz45-python3.7-flufl.i18n-3.1.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python37Packages.flufl_i18n https://github.com/r-ryantm/nixpkgs/archive/ca8c88a3d6e268313c6768d5a58ab5868d57e8b5.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ygdsgvbb61mnzz61r02cxs8dkqqpaz45-python3.7-flufl.i18n-3.1.3
ls -la /nix/store/ygdsgvbb61mnzz61r02cxs8dkqqpaz45-python3.7-flufl.i18n-3.1.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

10 packages built:

mailman
python37Packages.flufl_i18n
python37Packages.mailman
python37Packages.mailman-hyperkitty
python38Packages.flufl_i18n
python38Packages.mailman
python38Packages.mailman-hyperkitty
python39Packages.flufl_i18n
python39Packages.mailman
python39Packages.mailman-hyperkitty

Maintainer pings

Result of nixpkgs-review pr 106121 run on x86_64-darwin 1

7 packages marked as broken and skipped:

mailman
python37Packages.mailman
python37Packages.mailman-hyperkitty
python38Packages.mailman
python38Packages.mailman-hyperkitty
python39Packages.mailman
python39Packages.mailman-hyperkitty

3 packages built:

python37Packages.flufl_i18n
python38Packages.flufl_i18n
python39Packages.flufl_i18n

Result of nixpkgs-review pr 106121 run on x86_64-linux 1

10 packages built:

mailman
python37Packages.flufl_i18n
python37Packages.mailman
python37Packages.mailman-hyperkitty
python38Packages.flufl_i18n
python38Packages.mailman
python38Packages.mailman-hyperkitty
python39Packages.flufl_i18n
python39Packages.mailman
python39Packages.mailman-hyperkitty

Result of nixpkgs-review pr 106121 run on x86_64-linux 1

10 packages built:

mailman
python37Packages.flufl_i18n
python37Packages.mailman
python37Packages.mailman-hyperkitty
python38Packages.flufl_i18n
python38Packages.mailman
python38Packages.mailman-hyperkitty
python39Packages.flufl_i18n
python39Packages.mailman
python39Packages.mailman-hyperkitty


Still waiting for GA with Azure Key Vault integration and Caching

We love this feature but it is still in Preview after 3 months and missing these 2 identified improvements.
Please push to make it Generally Available.
Thank you

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ad70fa7e-a9df-e2c0-4482-a140ca1c4b4f
Version Independent ID: 8071aca4-f51a-a53e-0e04-c2a64164eb32
Content: Preview: Use environment variables in solutions - PowerApps
Content Source: powerapps-docs/maker/common-data-service/EnvironmentVariables.md
Service: powerapps
GitHub Login: @caburk
Microsoft Alias: caburk

Thanks for your feedback. The feature will GA in 2020 Release Wave 1 with several enhancements. However, Key Vault integration and caching have several dependencies are likely further out.

Thanks for your feedback. For product-related feedback, visit https://ideas.powerapps.com.
Closing this issue.”

@Mattp123 - Closes #945


#234 #242 Changed --debug to --inspect in node args

In order to fix #242 #234 , I propose this commit.
Also today, current and LTS versions of node are above 8 and need this to be fixed.
Regards

👍
Please kindly check

Doesn't work for me. Tried installing the PR as follows...
git clone kiddkai/atom-node-debugger
cd atom-node-debugger
git pull origin pull/246/head
npm install
apm link
apm install

Then restarted atom, went to package settings, set the new port 9229 (5858 was the pre node v8 default port) and my custom node path (because I use nvm, had to get that with nvm which default). Now running my package with node main.js --inspect --inspect-brk and in atom Node Debugger: Attach.
No success. Connection attempt 1 to node process on <IP_ADDRESS>:9229 failed. Will try again in 500.
:(


fix for lastmod Issue #76

CURLOPT_FILETIME option added (because CURLINFO_FILETIME will not work without setting this option).
Check added on CURLINFO_FILETIME return value (if -1 is returned the time of the document is unknown).
Removed strtotime conversion as the date/time is already in UNIX timestamp format and using strtotime resets it to zero.
Check for $enable_modified moved up to get_data function, to avoid processing when not set on.

The quote I'm looking at from the docs says:
"CURLINFO_FILETIME - Remote time of the retrieved document, with the CURLOPT_FILETIME enabled; if -1 is returned the time of the document is unknown"
Incidentally, I'm not sure how or why a server makes the decision it is unable or unwilling to return the timestamp but in the small sample of websites I've checked not many servers seem to return it.

Yes but give poor old PHP a break; it can’t return 0 as this as a timestamp value represents 1st January 1970 12:00:00 !


Can't select root folder for media to rename

I'm running Filebot in unRAID, which updates the container as they are provided. Today, while trying to select a "movies" root folder to rename and export, the app will open into that folder, and expect me to select a file. If a folder is selected within the root "movies" folder, it'll open it. I've restarted the app and the problem still exists. In short, I can't select a root folder for Filebot to review, rename files, and export them.

For me, it is all folders. It will keep expanding the folder until I hit a file.

I also reproduce the problem.
I reported the issue on FileBot forum: https://www.filebot.net/forums/viewtopic.php?f=11&t=13073

Fixed in latest Docker image (v1.14.0).


[DH-533] Adds sortby start/end_date.

As in the title.

Codecov Report

Merging #478 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           develop    #478   +/-   ##
=======================================
  Coverage     96.4%   96.4%
=======================================
  Files          111     111
  Lines         3446    3446
  Branches       317     317
=======================================
  Hits          3322    3322
  Misses          85      85
  Partials        39      39

Impacted Files
Coverage Δ

datahub/search/event/serializers.py
96.61% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Undesirable updating of obsolete references

The ED of CSS Fonts 4 is not building on drafts.csswg.org because of a "fatal error".

FATAL ERROR: Obsolete biblio ref: [DOM-Level-2-Style] is replaced by [DOM].

Firstly, that should be a warning not a fatal error.
Secondly, that sort of auto-updating should not be happening. It should be opt-in.
Here is the text around that reference:

The DOM Level 2 Style specification [[DOM-LEVEL-2-STYLE]]
defined a different variant of this rule.
This definition supersedes that one.

So yes, it is a biblio link to an outdated specification. That is the point. Its also why this is an informative reference, not a normative reference. And forcing this to point to DOM LS makes the sentence meaningless because the entire point is to say that this is a change from that old specification.

In most cases you do want things to be auto-updated to the newest thing, but I agree that it would be useful to still force a ref to an obsoleted spec for rare cases like this.

All right, you can now intentionally link to an obsoleted reference by specifying obsolete in the biblio ref, like [[dom-level-2-style obsolete]].


Fix some typos for workflow/git-workflow post

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


1084 qiita pet

Built on top of #1206
This PR refactors the interface so now the user has to upload first the prep template before he can add the raw data. This is how the database works and this is the normal workflow when using Qiita.
This is still a work in progress PR. I had to completely rewrite some parts of the interface code, and I've still not removed the old code, as it was useful for reference.
It would be great if people can pull down this branch and check which things are missing in the interface, and which things can be improved. I'll be able to work on it tonight and tomorrow morning, so the entire interface is consistent with the new DB layout. After that, I will be able to finally add the QIIME mapping file parsing, which shouldn't impact the interface and it's only a backend change!

Tests should pass now in this PR. Ready for review once all the previous PR have been reviewed and merged.

Coverage decreased (-0.43%) to 78.59% when pulling f65e9dacee6a2e67a26271843c27a2393b55713f on josenavas:1084-qiita-pet into 3a0976b1f462eb93961b911f682ac5984f7d4c0c on biocore:fix-1084.

@biocore/qiita-dev In this PR I've changed the interface a lot. I would suggest first downloading the code and check the interface before actually doing the code review. The idea is that if the interface needs to change, we don't waste time reviewing code that is going to change.

Thanks for the heads up, will do!
On (May-28-15|10:20), josenavas wrote:

@biocore/qiita-dev In this PR I've changed the interface a lot. I would suggest first downloading the code and check the interface before actually doing the code review. The idea is that if the interface needs to change, we don't waste time reviewing code that is going to change.

Reply to this email directly or view it on GitHub:
https://github.com/biocore/qiita/pull/1207#issuecomment-106502370

Few comments.

The code seems to work just fine i. e. I was able to create a study and process the sequences up to an OTU table.

This looks really nice and like @ElDeveloper said it works.
Sore general comments:

Do we really need an '+Add raw data' button? Why not always show the 2 frames?
If we keep the previous button, add a space between the + and the Add raw data
In "Use existing raw data" add new lines between the dropbox and the "Add" button
Will it be possible to make the space bigger in the grey-add-raw-data section?

Gonna check the code now.

The code looks good to me, :+1: after the comments are addressed.

When showing the Add new raw data and Use existing raw data accordions, they resize a bit oddly:

Would be nice if the size was fixed.

The Add button should probably be green instead of blue. It is also a bit confusing that the name of the button is Add, but the instructions are Choose the files to link to the raw data. However, I think this is ok for the Use existing raw data section.

This should probably just be a bootsrap table:

For some extra Yoshiki-points, we probably want to convert the dropdown that's shown in Use existing raw data into a chosen dropdown.

Looks good otherwise!

@ElDeveloper thanks for the suggestions!
I want all the extra Yoshiki-points (worth :beers: ??). Weirdly enough, the Use existing raw data dropdown is already a chosen dropdown:
<select class="chosen-select" id="previous-raw-data-{{pt_id}}" data-placeholder=" ">

And I cannot find why is not working properly...

Changes Unknown when pulling 10a69d8e05b6c4b53b953b12b96f9dab3a58eaee on josenavas:1084-qiita-pet into ** on biocore:fix-1084**.

:beers: indeed, thanks for making the changes!
I think you need to activate the dropdown with JavaScript:
https://harvesthq.github.io/chosen/#setup
On (May-28-15|20:22), josenavas wrote:

@ElDeveloper thanks for the suggestions!
I want all the extra Yoshiki-points (worth :beers: ??). Weirdly enough, the Use existing raw data dropdown is already a chosen dropdown:
<select class="chosen-select" id="previous-raw-data-{{pt_id}}" data-placeholder=" ">

And I cannot find why is not working properly...

Reply to this email directly or view it on GitHub:
https://github.com/biocore/qiita/pull/1207#issuecomment-106670502

BTW, I'm :+1: for the most part now. @squirrelo, do you have any other comments, or others? Would be great to get this merged ASAP.

I'm still meh on the accordion for Raw Data, but for the sake of having this functionality in :+1: on this code and we can do interface changes later.

RE accordion: I actually like it.


[BUG] [ws-tool-name] Issue Short Description

I've try to follow the guidelines to use ws-bulk-report-generator tool to generator the report.
#1 git clone https://github.com/whitesource-ps/ws-bulk-report-generator.git
#2 cd ws-bulk-report-generator
#3 pip install -r requirements.txt
#4 cd bulk_reports_generator
#5 python bulk-reports-generator.py -u ORGADMINUSERKEY -k ORGAPIKEY -r inventory -s product -t json
And come the error msg :
File "bulk-reports-generator.py", line 48
logging.warning(f"Configuration file: {args.config} was not found")
^
SyntaxError: invalid syntax
Please help to check.
Thanks,

I try the tool on linux again then it works,
It any possible this tool will support mac os in the future?

It should work on any OS. I see that by default Mac comes with Python 2.7 while we support 3.7, 3.8 and 3.9.

Which Python version are you using?
Did you git clone the project into the Mac?

Hello tamari
Sorry, I've try the project again with "python3 bulk-reports-generator.py " command and it works.
Thanks for help

Glad it works :)
On Mon, Nov 15, 2021 at 5:03 AM Chiencc @.***> wrote:

Hello tamari
Sorry, I've try the project again with "python3 bulk-reports-generator.py
" command and it works.
Thanks for help
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/whitesource-ps/ws-bulk-report-generator/issues/10#issuecomment-968492392,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARIIYVC5M4USAA54Q3OZFNLUMBZ7JANCNFSM5G3UZFFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Oz Tamari - Professional Services


Migration and Support | Blog Post - Comp Doc UT

Blog post re: comp doc UT results.

Oct-06: Drafting blog post on results > share with @mikearildbrown

Oct-11: Passed draft to @mikearildbrown


ember-cli 2.5 can't install

Hello!
I can't install ember-cli-typescript with ember-cli 2.5 version
404 Not Found: ember-cli-typescript

Hi,
I haven't actually tried it out with more recent versions and haven't done any development on it for a few months. Feel free to try and debug the issue and send in a PR!
David

Ok. Thank you

I'm closing due to inactivity. Please re-open if you encounter this problem again!


feat: [PL-51125]: Remove the unimplemented option LIST and DELETE from the connector command

Remove the unimplemented option LIST and DELETE from the connector command
Tested:

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


mmh3 not building anymore?

mmh3 is not compiling when installing through pip via packet or git.
I want to use it for the Bloom filter implemented here:
http://www.maxburstein.com/blog/creating-a-simple-bloom-filter/
Specs of my system:
gcc: 5.1.0
os: archlinux
pip: 7.0.3
git: 2.4.2
python: 3.4.3 / 2.7.9
Output from pip
> sudo pip install mmh3
Collecting mmh3
  Using cached mmh3-2.3.tar.gz
Installing collected packages: mmh3
  Running setup.py install for mmh3
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-ia20ohxq/mmh3/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-dmuabtur-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'mmh3' extension
    creating build
    creating build/temp.linux-x86_64-3.4
    gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fPIC -I/usr/include/python3.4m -c mmh3module.cpp -o build/temp.linux-x86_64-3.4/mmh3module.o
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fPIC -I/usr/include/python3.4m -c MurmurHash3.cpp -o build/temp.linux-x86_64-3.4/MurmurHash3.o
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    MurmurHash3.cpp:34:31: error: expected constructor, destructor, or type conversion before ‘(’ token
     #define FORCE_INLINE attribute((always_inline))
                                   ^
    MurmurHash3.cpp:60:1: note: in expansion of macro ‘FORCE_INLINE’
     FORCE_INLINE uint32_t getblock ( const uint32_t * p, int i )
     ^
    MurmurHash3.cpp:34:31: error: expected constructor, destructor, or type conversion before ‘(’ token
     #define FORCE_INLINE attribute((always_inline))
                                   ^
    MurmurHash3.cpp:65:1: note: in expansion of macro ‘FORCE_INLINE’
     FORCE_INLINE uint64_t getblock ( const uint64_t * p, int i )
     ^
    MurmurHash3.cpp:34:31: error: expected constructor, destructor, or type conversion before ‘(’ token
     #define FORCE_INLINE attribute((always_inline))
                                   ^
    MurmurHash3.cpp:73:1: note: in expansion of macro ‘FORCE_INLINE’
     FORCE_INLINE uint32_t fmix ( uint32_t h )
     ^
    MurmurHash3.cpp:34:31: error: expected constructor, destructor, or type conversion before ‘(’ token
     #define FORCE_INLINE attribute((always_inline))
                                   ^
    MurmurHash3.cpp:86:1: note: in expansion of macro ‘FORCE_INLINE’
     FORCE_INLINE uint64_t fmix ( uint64_t k )
     ^
    MurmurHash3.cpp: In function ‘void MurmurHash3_x86_32(const void*, int, uint32_t, void*)’:
    MurmurHash3.cpp:117:36: error: ‘getblock’ was not declared in this scope
         uint32_t k1 = getblock(blocks,i);
                                        ^
    MurmurHash3.cpp:148:15: error: ‘fmix’ was not declared in this scope
       h1 = fmix(h1);
                   ^
    MurmurHash3.cpp: In function ‘void MurmurHash3_x86_128(const void*, int, uint32_t, void*)’:
    MurmurHash3.cpp:178:40: error: ‘getblock’ was not declared in this scope
         uint32_t k1 = getblock(blocks,i*4+0);
                                            ^
    MurmurHash3.cpp:244:15: error: ‘fmix’ was not declared in this scope
       h1 = fmix(h1);
                   ^
    MurmurHash3.cpp: In function ‘void MurmurHash3_x64_128(const void*, int, uint32_t, void*)’:
    MurmurHash3.cpp:279:40: error: ‘getblock’ was not declared in this scope
         uint64_t k1 = getblock(blocks,i*2+0);
                                            ^
    MurmurHash3.cpp:329:15: error: ‘fmix’ was not declared in this scope
       h1 = fmix(h1);
                   ^
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-ia20ohxq/mmh3/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-dmuabtur-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ia20ohxq/mmh3

Thanks for reporting! I confirmed the bug on gcc 5.1.0. The reason behind this seems gcc 5 and later require stricter format for declaring attributes.
In the branch fixinline I corrected the line of the problem.  Can you check if it works?
git clone -b fixinline https://github.com/hajimes/mmh3.git && cd mmh3 && python setup.py build

Thanks for the prompt response :+1:
It builds and installs without error:
> sudo pip3 install git+https://github.com/hajimes/mmh3.git@fixinline
[...]
Successfully installed mmh3-2.31

Sounds good. I'll upload it to PyPI soon.

It looks like the problem is happening again. I'm unable to build a wheel for mmh3 from "pip install mmh3".

Same here with me too

+1

I have the same problem also:
$ sudo -H pip install mmh3==2.0
Collecting mmh3==2.0
Using cached https://files.pythonhosted.org/packages/cb/e0/d9459f9d4b56cc78c85f1c1aca54eb0ed89d4ed703da979e09b24806d434/mmh3-2.0.tar.gz
Building wheels for collected packages: mmh3
Running setup.py bdist_wheel for mmh3 ... error
Complete output from command /usr/bin/pypy -u -c "import setuptools, tokenize;file='/tmp/pip-install-t1zQ1D/mmh3/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/pip-wheel-dgyuoI --python-tag pp251:
running bdist_wheel
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.linux-x86_64-2.7
cc -O2 -fPIC -Wimplicit -I/usr/lib/pypy/include -c mmh3module.cpp -o build/temp.linux-x86_64-2.7/mmh3module.o
cc1plus: warning: command line option ‘-Wimplicit’ is valid for C/ObjC but not for C++
mmh3module.cpp:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'cc' failed with exit status 1

Failed building wheel for mmh3
Running setup.py clean for mmh3
Failed to build mmh3
Installing collected packages: mmh3
Running setup.py install for mmh3 ... error
Complete output from command /usr/bin/pypy -u -c "import setuptools, tokenize;file='/tmp/pip-install-t1zQ1D/mmh3/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-I0ZxFz/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.linux-x86_64-2.7
cc -O2 -fPIC -Wimplicit -I/usr/lib/pypy/include -c mmh3module.cpp -o build/temp.linux-x86_64-2.7/mmh3module.o
cc1plus: warning: command line option ‘-Wimplicit’ is valid for C/ObjC but not for C++
mmh3module.cpp:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'cc' failed with exit status 1
----------------------------------------

Command "/usr/bin/pypy -u -c "import setuptools, tokenize;file='/tmp/pip-install-t1zQ1D/mmh3/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-I0ZxFz/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-t1zQ1D/mmh3/

unable to build on ubuntu, same error as @bkarr

1
pc@h4xor:~/Desktop$: sudo apt-get install python3 python-dev python3-dev &&  build-essential libssl-dev libffi-dev && libxml2-dev libxslt1-dev zlib1g-dev && python-pip
2
sudo pip3 install mmh3==2.5.1
done


Update ecbuild and switch argument intent from out to inout

The ecbuild update removes annoying CMake warnings.
The switch from intent(out) to intent(inout) was done while debugging the spurious failures in ecmwf-ifs/loki#230. It turned out not to be related to this but intent(out) is generally considered dangerous for offloaded routines, hence this seems sensible to change for the Loki variant.

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


Error while trying to get the module

Hello, I am relatively new to golang.
I was trying to use resend SDK it threw the following error when trying to install.
go: downloading github.com/resend/resend-go v1.7.0
go<EMAIL_ADDRESS>parsing go.mod:
        module declares its path as: github.com/resendlabs/resend-go
                but was required as: github.com/resend/resend-go

hey @iresharma thanks for reporting the issue, looks like our docs were released a bit earlier than the paths renaming on our sdk, we're releasing a new version soon that fixes the issue.
In the meanwhile, installing via: go get github.com/resendlabs/resend-go should work, closing the issue here, but feel free to re-open if you still have issues.

@iresharma just wanted to let you know that v2.3.0 has just been released with the fix for installing through the new github handle
root@e84f4de01f1c:~# go get github.com/resend/resend-go/v2
go: downloading github.com/resend/resend-go v1.7.0
go: downloading github.com/resend/resend-go/v2 v2.3.0
go: added github.com/resend/resend-go/v2 v2.3.0

Thank you for informing


Use c:capturing_not_supported for soul vials

Is there an existing issue for this?

[X] I did not find any existing issues.

Current Behavior
With 1.21, we should add the c:capturing_not_supported to our soul vial blacklist tag.
Expected Behavior
No response
How to Test
No response
Local Environment
- **Operating System**:
- **Java version**:
- **Minecraft Version**:
- **Version**:
- **Other Mods**: Applied Energistics 2, Mekanism...

Any Additional Information?
No response

completed in https://github.com/Team-EnderIO/EnderIO/commit/5f171f01b255727efeaa8b6a5368b0cacd212887


Update CI/CD and packet publishing

Once #66 #69 #70 are done we need to update CI/CD configuration.

[ ] Setup CI/CD for https://github.com/beda-software/fhir-questionnaire/tree/main/vendor/sdc-qrf to publish sdc-qrf
[ ] Setup CI/CD for https://github.com/beda-software/fhir-questionnaire to publish fhir-questionnaire as npm package for react and react native

Hi @ir4y
I am Pravin . I am a new contributor. Is this issue still open if it is can I try fixing it
/assign


Apply deliver hook gas limit for receipt side effects

Describe your changes and provide context

set transient receipt was being governed by the transaction gas limit
this gas limit isn't actually charged against the transaction (receipt already rendered)
the change is to make this limited by the hook gas limit which is configured

Testing performed to validate your change

integration test passes

closing in favor of another option


x/pkgsite, x/tools/cmd/godoc: some code examples are not displayed (but work at godoc.org)

For example

https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#example-DB-Model-ForEach is missing
https://godoc.org/github.com/go-pg/pg?tab=doc#example-DB-Model-ForEach works fine

Thanks for reporting.
I tested this package at commit https://github.com/go-pg/pg/commit/6fe164e2d690b7e22a4787f5d40d5dd93fc2e5e3 with pkg.go.dev, godoc.org, and x/tools/cmd/godoc, and can confirm the issue is present in pkg.go.dev and x/tools/cmd/godoc, but not godoc.org.
It's also helpful to look at the complete listing of examples at https://godoc.org/github.com/go-pg/pg?tab=doc#pkg-examples, https://pkg.go.dev/github.com/go-pg/pg/v10?tab=doc#pkg-examples, and the output of x/tools/cmd/godoc:

This looks like a valid issue. It needs investigation to understand why these examples, which appear to be following the example naming convention correctly, are not showing up in 2 out of 3 documentation viewers. It might be a problem in the example matching logic in go/doc package, or at a higher level. Once we understand why this is happening, it'll be easier to figure out how to fix this.
/cc @julieqiu @shaqque

One lead to investigate is that the exported DB type is defined as:
type DB struct {
	*baseDB
	ctx context.Context
}

Notably, baseDB is an embedded field. The DB type gets many of its methods indirectly via that embedded baseDB type:
// Begin starts a transaction. Most callers should use RunInTransaction instead.
func (db *baseDB) Begin() (*Tx, error)

The example classification logic in go/doc.NewFromFiles needs to know the complete API to determine if an example should be attached to a given identifier, so if it's not able to handle methods via embedded types, that could be the cause for this.
I haven't looked further, just wanted to share this.

@dmitshur you're right that the issue is related to the embedded field. However, this appears to be expected behavior and is documented in
https://github.com/golang/go/blob/master/src/go/doc/example.go#L489
Removing
|| m.Level != 0

appears to fix this issue.
The question now is whether we should consider embedded field methods for examples. One problem I can think of is that the embedded field type could also be exported, resulting in duplicate examples. However, we can check for this case easily (i.e. whether the embedded field is exported) and choose not to show the example for either the original struct or the embedded field type.
/cc @dsnet @griesemer

Gentle ping.
It seems to be better having duplicated examples rather than not having them at all. Also if duplicates are problematic - authors can rework examples and place them on different struct.

choose not to show the example for either the original struct type or the embedded field type.

The type for which to show the example is embedded in its name: ExampleT_M should be shown on type T.
In determining whether ExampleT_M applies to T, we should consider all methods of T and *T, including those arising from embedding.

The fundamental problem is that we don't have full type information when building the doc, so we can't really compute the full method set in all cases.
However, we do know about types in the same package. So I can't think of a reason we shouldn't use that information. So we should remove the m.Level != 0 check in pkgsite's godoc.
It is out of scope for this issue to make the change in go/doc itself.

So we should remove the m.Level != 0 check in pkgsite's godoc.
It is out of scope for this issue to make the change in go/doc itself.

@jba The original plan for pkgsite's copied go/doc package was to delete it as soon as possible, when pkgsite could start using Go 1.14 in deployment. If you're planning on changing that plan, please take into account and update the package comment here.

@dmitshur I see, I hadn't realized that. In that case, I think we should make the change in go/doc as well.

I sent https://golang.org/cl/249557 to change go/doc.

I believe this is fixed via CL 249557 for go/doc and CL 249638 for pkg.go.dev. The examples mentioned in the original issue report now show up.
@jba If I missed something and there's more to do here, feel free to reopen.


if i want use weex debug .js file, what should i do?

use the vue-router, the entry is js file, not .vue or .we.
debug fail, can't use the playground.

You can start a simple static server (using such as serve) by your self and render URL to a QR code, then use playground to preview your page.

恩  试了一下可以实现。  但是好麻烦，weextoolkit 应该加上该功能

Maybe you can use weex debug xxx.js to get a QR code.


Use PF4 data list to show orders.

Replaces the Insights table with PF4 data list to match design mocks. Is still mostly a placeholder but can be easily updated once we have necessary data.
Before

After

Edit: I'm aware of the duplicate code. Will be resolved once we can differentiate between all orders and my orders.

Travis is fixed by https://github.com/ManageIQ/service_portal-ui/pull/82


Peek definition shows 2 definitions when there is actually only one on javascript

VSCode Version: 1.25.1
OS Version: Mac OS High Sierra

Seems that VScode gets confused with the definition of the function. I've seen similar requests but the issues are closed with no apparent fix.
See the screenshots:

I have a single .js file with the next function:

When I command + click in the caller:

It shows 2 definitions, but there is clearly only one.
thanks!

Fixed in VSCode 1.26


fixed syntax error in windows-fix sh

fixed syntax error in windows-fix sh

Tested and it works locally for me. Strange that it worked for me before, but not for you? Got slightly different set ups I guess?
Only thing is (bit picky I know..) it might be worth renaming the commit without the typos

done

Doesn't look to have updated @DonShelly

think ive sorted it now?

You've got 3 commits now


SPIFFS_USE_MAGIC checking filesystem

When mounting a FS with the the SPIFFS_USE_MAGIC set to 1, is then only checked whether all blocks within the "FS range" have a magic number ?
If so, would you detect a failure when FS is created with size 1000 and mounted with size 500 ?
If I missed the documentation for this, please point me to the location and I will work from that.

Yes, you're correct in your reasoning. Creating an fs with e.g 32 blocks
and then mount it with 16 blocks at a later point would succeed at mount
point. However,  if all 32 blocks contain data, the fs mounted with 16
would most certainly be corrupt, giving errors when reading and writing.
In  fact, it might be impossible to do anything as spiffs must have at
least two blocks  free.
Den 19 nov 2015 17:58 skrev "hreintke"<EMAIL_ADDRESS>
When mounting a FS with the the SPIFFS_USE_MAGIC set to 1, is then only
checked whether all blocks within the "FS range" having a magic number ?
If so, would you detect a failure when FS is created with size 1000 and
mounted with size 500 ?
If I missed the documentation for this, please point me to the location
and I will work from that.
—
Reply to this email directly or view it on GitHub
https://github.com/pellepl/spiffs/issues/59.

Btw, just out of curiosity, is there an actual case of this? I always presumed the user would know the a

Thanks for the quick answer.
I am working on the sming framework for esp8266.
In there, there is the possibility to

download (Over The Air) a pre-filled filesystem to the esp.
when flashing the application,on the esp, a FS can also be flashed over serial.
and of course, esp8266 come with different flash sizes, I would like to keep the application the same on all.

This means that the application using the FS is not the same as the application which created it.
-> There might be a mismatch
I was wondering whether it would be possible to have a :

first page magic number
middle pages magic number
last page magic number

And so create an almost no overhead possibility to check FS size.
I am (not yet) into the details of Spiffs implementation. Could you point me to the part of the code I should be investigating for this.

Hmm, yes, it would be possible to have certain magics depending on block placement. But, it is a bit trickier than that: among all blocks, spiffs allow one block to have no magic. This is for the case of power-loss during block erase. If such a block is found during mount, it is properly erased and magic is written.
In worst case, this could be the first or the last block, confusing a naive algorithm.
You'll find the code for this @ https://github.com/pellepl/spiffs/blob/master/src/spiffs_nucleus.c#L290
Alas, I am certainly no expert on the Sming framework, but perhaps it is possible to write the fs-size on some other place in the SPI-flash instead, e.g. some parameter/config area?

Yes, sure there are also other possibilities, f.e. the config area you mentioned.
I am now in the investigation phase, and as such also understanding the possibilities of the frameworks we use.
One more question :

If such a block is found during mount, it is properly erased and magic is written.

Doesn't this way of working break FS consistency, or can you recreate the contents from other locations?

When spiffs finds one block not being properly erased it assumes this was due to an aborted garbage collection. Spiffs only erases a block when any essential info has been moved (or a user calls format).
So, I really hope it does not break anything ;)
When spiffs finds more than one block not being properly erased, it assumes corrupt filesystem and formats the lot.
Oh, and by properly erased it means the magic is found in the block. Spiffs always writes the magic directly after it erased a block.
Considering unexpected power losses, erasing is the most time consuming operation, so it should statistically be more prone to be aborted.

Great and well thought design and implementation.
Will close the issue and continue with my design investigation.
Thanks a lot for answering my questions so quickly and extensive.

Thanks. Don't hesitate to ask if you have more questions. Cheers!


How to add custom functions?

Hi! Thanks for all the patience and explanations! I am implementing ltree for Postgres and I have been struggling for days on how to implement custom functions like subpath or nlevel. I don't know how to make them interact with the ent builder and selector since I can't modify ent files. Any advice?

Hey @christie-zhao and it's great to see you here again.

I have been struggling for days on how to implement custom functions like subpath or nlevel. I don't know how to make them interact with the ent builder and selector since I can't modify ent files. Any advice?

Can you give more context about it? What are you trying to do, or something I can reproduce/run to help with it.
Are you talking about adding them to the generated predicates (using external templates)?

I am trying to use external templates for that. For example, I want to implement nlevel function to count number of labels in ltree path and returns a number. Then, I would like to use it like client.query().where(predicates).nlevel(path).all() or client.query().select(...).nlevel(path) or some sort. It works very similar to count function.

Are you trying to run a query like this?
SELECT nlevel("<Column>") FROM "test" WHERE <Predicate>;

Or this:
SELECT * FROM "test" WHERE nlevel("<Column>") > $1;

Can you write here please an example of your table (with a few rows), and the expected output (SQL rows and Go objects)? Thanks

Hi I didn't realize I can do that but that solves the problem. Now I have another problem...Thank you so much for all the help!

Hey @christie-zhao,

Actually I didn't figure it out...

Can you elaborate what it's working for you?

However, I want to have this function in the custom template so I can use it wherever.

If you want to add code using custom templates see the external-templates docs, or see examples in integration tests and examples directories.

So now I did client.Tree.Query().Select("Nlevel(path)").Ints(ctx) and it is giving me an error because the raw query representation of this is SELECT tree.Nlevel(path) FROM tree. Nlevel(path) is a function but not a column so tree.Nlevel(path) doesn't make sense

Regarding the first issue - The Select(field string, fields ...string) function accepts fields and not raw strings. It won't work this way.
The second case caused by a misconfigured driver - you need to configure the dialect for the builder (see examples in generated code). For example:
builder := sql.Dialect(nt.driver.Dialect())
table := builder.Table(tree.Table)
selector := builder.Select(...).From(table).Where(...)
query, args := selector.Query()

Yeah this would be useful. However nlevel doesn't only work with the column, it also works with any tree path. For example, I can do select nlevel('A') from tree and it would give me 1 as a result.
Also how can I integrate this in the template? as I don't have permission to add this in the treequery file?

This solved it! I didn't know I can get TreeQuery outside! You are so helpful and awesome!!! 💯

Just a small question, How do you prevent sql injection when using fmt.Sprintf?

Just wanted to add a 👍 here, thanks a bunch for being so responsive @a8m. I work with @christie-zhao and you've helped us a bunch ❤

Thanks for the kind words @jaredallard and @christie-zhao 😃

This solved it! I didn't know I can get TreeQuery outside. You are so helpful and awesome!!! 💯

You can add methods to the query builder from another file, and external-templates can help you to generate those methods. If you're struggling with it, create a temporary repository with a reproducible example (and some schema) and I'll create a PR for helping you with it.

Just a small question, How do you prevent sql injection when using fmt.Sprintf?

In general, we use parametrized statement/queries for executing the SQL queries, so you don't need to worry if you're passing untrusted user-inputs to the builtin builder methods (like predicates, or when inserting data). You can see the generated SQL statement when calling client.Debug().
However, the select expression is part of the SQL syntax and can't be passed using placeholders (SELECT ? FROM ...) - this is why we're accepting only fields for selection, and users should use the generated constants for passing those fields. We can enforce this, but injections are not expected to be on the SQL syntax level. There's a good discussion in the SQLAlchemy issue tracker - we can add a check for enforcing this (I'll do it).
If you're adding new functionalities using external-templates, you should verify user-inputs or use placeholders where it's possible.
Regarding the question about sql.Selector in #742 - the query builders in dialect/sql are used for providing a statically-typed API for the generated ent code. They don't do syntax check nor escaping or other magic. It's considered an "internal" package of ent, and it's exposed only because the generated packages need them. I'll add it in doc comment.

If I'm understanding correctly, in the example you had above on Nlevel, we need to do more input sanitization on the parameter column? 'selector.C()' only formats it but it doesn't prevent injection?

If I'm understanding correctly, in the example you had above on Nlevel, we need to do more input sanitization on the parameter column?

Yes. Usually, I'll recommend to not pass untrusted data to methods that don't accept placeholders - define constants and use them instead.
We can consider adding the sanitization option to the sql helpers we have under dialect/sql - but that's a different discussion.


⚠ ClamAV has degraded performance

In 30b78ac, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 75 ms

Resolved: ClamAV performance has improved in 2a34693 after 5 minutes.


Need to tighten up access to the wagtailadmin.pages.view_draft view

Currently any user with a wagtailadmin login can view the latest draft of any page just by passing its ID to the view_draft view - no further permission checks are employed. In the default install this is no big deal, because a standard editor has edit access to the full site anyhow - but on sites with more fine-grained user roles (particularly as we implement and employ more features concerned with "keeping information under wraps", such as front-end permissions and scheduled publishing), there is a risk of information being leaked.
We don't yet have a concept of 'view permission' that applies to users, so we need to figure out what permission rules would be appropriate here. I think requiring either edit or publish permission on the page would make sense - I can't think of any other kinds of workflow that would depend on being able to view the draft version.

Agreed to require edit permission to access view_draft.

starting work

Using the 'change_page' permission for this. I couldn't find  a 'publish' permission?

@khink Page permissions are based on the GroupPagePermission model in wagtailcore rather than Django's own permission model from django.contrib.auth (because the Django permission model wouldn't allow assigning different permissions for different parts of the page tree).
Your best bet is to look at how the other views in wagtailadmin/views/pages.py do permission checks - there's a page.permissions_for_user helper method that returns an object you can query for can_edit(), can_publish() etc.

Fixed in #3474


Message Feed: Improve placeholder text for empty unsubscribed stream.

This pr changes the placeholder text along with fixing the style issue of subscribe button in empty unsubscribed streams.
Fixes: #29692.
Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Thanks! Looking at the screenshot, we need more vertical space above the button.

@alya added the vertical space above the button.

Cool, I can test once the PR passes tests.

Yeah, that extra margin seems reasonable with the bookend as well.
@laurynmm are you up for reviewing this one? I haven't tested.

Hey @nimishmedatwal ,
I noticed that this PR has been closed without getting merged. If you don't mind, I'd love to take a crack at solving the issue. I'll make sure to give you full credit where applicable.
Thanks, and looking forward to your response!


Failed to Add User

Before you open an issue
Please make sure you've upgraded to the latest version of kobodl on pypi or docker.  Also read through the troubleshooting guide.  Try running with --debug enabled and see what comes up in the debug log.
Do not erase this template, it's here to help you.
Describe the issue
Traceback (most recent call last):
  File "kobodl/__main__.py", line 5, in <module>
  File "click/core.py", line 829, in __call__
  File "click/core.py", line 782, in main
  File "click/core.py", line 1259, in invoke
  File "click/core.py", line 1259, in invoke
  File "click/core.py", line 1066, in invoke
  File "click/core.py", line 610, in invoke
  File "click/decorators.py", line 33, in new_func
  File "kobodl/commands/user.py", line 78, in add
  File "kobodl/actions.py", line 169, in Login
  File "kobodl/kobo.py", line 486, in Login
kobodl.kobo.KoboException: Authenticated user URL can't be found. The page format might have changed!

To Reproduce
Steps to reproduce the behavior:

./kobodl-macos user add
input email/password
copy the captcha code from the browser

Expected behavior
the user should be added successfully
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g.  MacOS]
Kobodl Version: downloaded from https://github.com/subdavis/kobo-book-downloader/releases/latest/download/kobodl-macos

Additional context
loginpage_error.html.txt

It is because I already have a rakuten account with the same email.
Fixed by login kobo and link my rakuten account.


fix(whitelist): Adding splitbch.com to the whitelist

:tada: This PR is included in version 1.22.4 :tada:
Your semantic-release bot :package::rocket:


Rancher 2 on Docker Desktop – default backend - 404

Rancher versions:
rancher/server or rancher/rancher: latest/stable
Infrastructure Stack versions:
healthcheck:
ipsec:
network-services:
scheduler:
kubernetes (if applicable): Kubernetes: v1.10.3
Docker version: (docker version,docker info preferred)
Version 18.05.0-ce-mac67
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
MacOS
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
Docker for Desktop
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single node
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Helm chart
Steps to Reproduce:
https://rancher.com/blog/2018/2018-05-18-how-to-run-rancher-2-0-on-your-desktop
Results:
Following instructions does not result in an accessible Rancher at https://rancher.localhost
default backend - 404
This tutorial is promoted on the site and newsletter but does not work as advertised with FQDN set using hosts file.

Checked the blog instructions for installs on Windows and Mac. Everything came up clean and was accessible.
Both these tests were on clean "Factory Reset" versions of docker-for-desktop. If you're trying to do this on existing installs YMMV.

Jason Greathouse:
Many tks for the post, i can install everything but when i log to rancher the cluster creation hang with "Waiting for API to be available"


Supervisor program name must be unique

Add a mention about that the program name set un the supervisor definition must be unique if you have multiple instances on the same supervisord server.

Thank you for your pull request.
It looks like this may be your first contribution to an Oro, Inc. open source project, in which case you'll need to sign a Contributor License Agreement (CLA) at http://www.orocrm.com/contributor-license-agreement/
If you've already signed the CLA, it's possible we don't have your GitHub username or you're using a different email address. GitHub uses the email address you set in your local Git configuration to associate commits with your GitHub account. Please sign the CLA again using the correct GitHub username and email address or see this help article on setting the email on your git commits.
Once you've signed the CLA, please allow for some time for the submission to be processed.

I filled the CLA, do I need to perform some other tasks?

The robot will check the signatures and update PR in a few hours.
Thank you for the contribution.

👍

Thank you for your contribution!
The PR was merged. Changes from it will be synced to the public repository in a few days.

Merged to master https://github.com/oroinc/platform/commit/bd0cf56c2590b3a346479198f3271034594255d1.
Thank you


add implementation for a webhook poller

Hi,
this PR implements the Poller interface with a webhook backend. I need this to run a telebot in a kubernetes cluster behind a loadbalancer with multiple instances. With this implementation you can start telebot which listens on a local interface and also configure an endpoint which can be a loadbalancer or reverseproxy.
if you have ngrok installed, you can do a ngrok http 8000 and you will get a public available URL with a legal certificate. than you can start a bot listening on localhost:8000 with the public URL from ngrok:
b, err := tb.NewBot(tb.Settings{
	Token: "my-bot-token",
	Poller: &tb.Webhook{
		Listen: "<IP_ADDRESS>:8000",
		Endpoint: &tb.WebhookEndpoint{
			PublicURL: "https://abc123123ab.ngrok.io",
		},
	},
})

If you want selfsigned certificates, you can specifiy them with the WebhookTLS configuration. Please be aware that it seems that telegram at least checks the domain in the certificate.

Great work! I never would've thought anyone would actually be down to implement it. Updating README in a while...
Cheers!

thx for merging!
my last commit allowed custom muxes to, so the upper example can also be written as:
p := &tb.Webhook{
  Endpoint: &tb.WebhookEndpoint{
    PublicURL: "https://abc123123ab.ngrok.io",
  },
}

b, err := tb.NewBot(tb.Settings{
  Token: "my-bot-token",
  Poller: p,
}

...
http.Serve("/tg", p)

so one can have a custom http mux. i'm using this in my kubernetes cluster, it works really great :-)

Hey it's pretty cool! Do you run it inside GKE or somewhere else? I'm slowly getting into the whole cloud thing. I found Go over GAE in Standard to be incredibly effective and cheap. It also has direct access to things like sql, storage, memcached etc. out of the box. See https://github.com/tucnak/levi

Production instance with a couple endpoints and DB access is a 2 MB binary, consuming something like 12 MB of memory and it scales very, very well. Considering you can get it up and running in what, 5 minutes? I haven't seen a single thing more resourceful than that in my whole life. Also, looking forward to what Google is gonna do with cloud functionsl, as they are currently lagging behind AWS heavily.

we have a custom kube cluster with digitalocean. old version of our system used the app engine. it was great, until our traffic an data requirments increased more and more. than we came to the point that dedicated machines are cheaper than the appengine.

thx for merging!
my last commit allowed custom muxes to, so the upper example can also be written as:
p := &tb.Webhook{
  Endpoint: &tb.WebhookEndpoint{
    PublicURL: "https://abc123123ab.ngrok.io",
  },
}

b, err := tb.NewBot(tb.Settings{
  Token: "my-bot-token",
  Poller: p,
})

...
http.Serve("/tg", p)

so one can have a custom http mux. i'm using this in my kubernetes cluster, it works really great :-)

How you start the bot?

You do not have to start it. As long as your token is valid and the given PublicURL is accessible from the internet (no localhost or any other private address) it simply works.